{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "ec193bf7",
   "metadata": {},
   "source": [
    "# 快速成为深度学习全栈工程师第8课书面作业\n",
    "学号：114499\n",
    "\n",
    "**作业内容：**  \n",
    "（难度系数：难）使用XGBoost预测房价（和课程中test_ratio=0.2保持一致），提交score和mse的值  \n",
    "提示：XGBoost工具包：https://xgboost.readthedocs.io/en/latest/python/python_intro.html"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "6fe86714",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "from scipy.stats import norm\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from scipy import stats\n",
    "import lightgbm as lgb\n",
    "import xgboost as xgb\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import mean_squared_log_error as msle\n",
    "from sklearn.metrics import mean_squared_error as MSE\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "da8d7ae4",
   "metadata": {},
   "source": [
    "读入训练数据，观察总体基本情况："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "ab12b2b0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1460, 81)\n",
      "Index(['Id', 'MSSubClass', 'MSZoning', 'LotFrontage', 'LotArea', 'Street',\n",
      "       'Alley', 'LotShape', 'LandContour', 'Utilities', 'LotConfig',\n",
      "       'LandSlope', 'Neighborhood', 'Condition1', 'Condition2', 'BldgType',\n",
      "       'HouseStyle', 'OverallQual', 'OverallCond', 'YearBuilt', 'YearRemodAdd',\n",
      "       'RoofStyle', 'RoofMatl', 'Exterior1st', 'Exterior2nd', 'MasVnrType',\n",
      "       'MasVnrArea', 'ExterQual', 'ExterCond', 'Foundation', 'BsmtQual',\n",
      "       'BsmtCond', 'BsmtExposure', 'BsmtFinType1', 'BsmtFinSF1',\n",
      "       'BsmtFinType2', 'BsmtFinSF2', 'BsmtUnfSF', 'TotalBsmtSF', 'Heating',\n",
      "       'HeatingQC', 'CentralAir', 'Electrical', '1stFlrSF', '2ndFlrSF',\n",
      "       'LowQualFinSF', 'GrLivArea', 'BsmtFullBath', 'BsmtHalfBath', 'FullBath',\n",
      "       'HalfBath', 'BedroomAbvGr', 'KitchenAbvGr', 'KitchenQual',\n",
      "       'TotRmsAbvGrd', 'Functional', 'Fireplaces', 'FireplaceQu', 'GarageType',\n",
      "       'GarageYrBlt', 'GarageFinish', 'GarageCars', 'GarageArea', 'GarageQual',\n",
      "       'GarageCond', 'PavedDrive', 'WoodDeckSF', 'OpenPorchSF',\n",
      "       'EnclosedPorch', '3SsnPorch', 'ScreenPorch', 'PoolArea', 'PoolQC',\n",
      "       'Fence', 'MiscFeature', 'MiscVal', 'MoSold', 'YrSold', 'SaleType',\n",
      "       'SaleCondition', 'SalePrice'],\n",
      "      dtype='object') 81\n"
     ]
    }
   ],
   "source": [
    "# 读入训练数据\n",
    "df_train = pd.read_csv('train.csv')\n",
    "\n",
    "# 查看df_train基本情况，数据形状\n",
    "print(df_train.shape)\n",
    "\n",
    "# 打印所有变量\n",
    "print(df_train.columns, len(df_train.columns))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6bb22983",
   "metadata": {},
   "source": [
    "先用决策树模型观察一下自变量与因变量的重要性程度，我这里用lightgbm模型。lightgbm模型可以处理分类型变量以及缺失值，因此没有进行数据清洗前也可以用。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "4476ed82",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1]\tvalid_0's rmse: 75735.7\tvalid_0's l2: 5.73589e+09\n",
      "[2]\tvalid_0's rmse: 69974.7\tvalid_0's l2: 4.89646e+09\n",
      "[3]\tvalid_0's rmse: 65064.5\tvalid_0's l2: 4.23339e+09\n",
      "[4]\tvalid_0's rmse: 60789.8\tvalid_0's l2: 3.6954e+09\n",
      "[5]\tvalid_0's rmse: 56782.4\tvalid_0's l2: 3.22425e+09\n",
      "[6]\tvalid_0's rmse: 53491.7\tvalid_0's l2: 2.86137e+09\n",
      "[7]\tvalid_0's rmse: 50507\tvalid_0's l2: 2.55096e+09\n",
      "[8]\tvalid_0's rmse: 47865.9\tvalid_0's l2: 2.29115e+09\n",
      "[9]\tvalid_0's rmse: 45497.7\tvalid_0's l2: 2.07004e+09\n",
      "[10]\tvalid_0's rmse: 43429.6\tvalid_0's l2: 1.88613e+09\n",
      "[11]\tvalid_0's rmse: 41735.5\tvalid_0's l2: 1.74185e+09\n",
      "[12]\tvalid_0's rmse: 39994.5\tvalid_0's l2: 1.59956e+09\n",
      "[13]\tvalid_0's rmse: 38823.2\tvalid_0's l2: 1.50724e+09\n",
      "[14]\tvalid_0's rmse: 37514.9\tvalid_0's l2: 1.40737e+09\n",
      "[15]\tvalid_0's rmse: 36440.2\tvalid_0's l2: 1.32789e+09\n",
      "[16]\tvalid_0's rmse: 35552.1\tvalid_0's l2: 1.26395e+09\n",
      "[17]\tvalid_0's rmse: 34878.4\tvalid_0's l2: 1.2165e+09\n",
      "[18]\tvalid_0's rmse: 34090.5\tvalid_0's l2: 1.16216e+09\n",
      "[19]\tvalid_0's rmse: 33638.5\tvalid_0's l2: 1.13155e+09\n",
      "[20]\tvalid_0's rmse: 33257.3\tvalid_0's l2: 1.10605e+09\n",
      "[21]\tvalid_0's rmse: 32908\tvalid_0's l2: 1.08294e+09\n",
      "[22]\tvalid_0's rmse: 32666.9\tvalid_0's l2: 1.06713e+09\n",
      "[23]\tvalid_0's rmse: 32495.3\tvalid_0's l2: 1.05594e+09\n",
      "[24]\tvalid_0's rmse: 32274.1\tvalid_0's l2: 1.04162e+09\n",
      "[25]\tvalid_0's rmse: 32165.5\tvalid_0's l2: 1.03462e+09\n",
      "[26]\tvalid_0's rmse: 31946.7\tvalid_0's l2: 1.02059e+09\n",
      "[27]\tvalid_0's rmse: 31846\tvalid_0's l2: 1.01417e+09\n",
      "[28]\tvalid_0's rmse: 31767.5\tvalid_0's l2: 1.00918e+09\n",
      "[29]\tvalid_0's rmse: 31668\tvalid_0's l2: 1.00286e+09\n",
      "[30]\tvalid_0's rmse: 31626.1\tvalid_0's l2: 1.00021e+09\n",
      "[31]\tvalid_0's rmse: 31510.5\tvalid_0's l2: 9.92909e+08\n",
      "[32]\tvalid_0's rmse: 31409.5\tvalid_0's l2: 9.86556e+08\n",
      "[33]\tvalid_0's rmse: 31458.4\tvalid_0's l2: 9.89629e+08\n",
      "[34]\tvalid_0's rmse: 31405.4\tvalid_0's l2: 9.86297e+08\n",
      "[35]\tvalid_0's rmse: 31213.5\tvalid_0's l2: 9.74282e+08\n",
      "[36]\tvalid_0's rmse: 31235\tvalid_0's l2: 9.75624e+08\n",
      "[37]\tvalid_0's rmse: 31201.9\tvalid_0's l2: 9.73556e+08\n",
      "[38]\tvalid_0's rmse: 31172\tvalid_0's l2: 9.71695e+08\n",
      "[39]\tvalid_0's rmse: 31203.2\tvalid_0's l2: 9.73637e+08\n",
      "[40]\tvalid_0's rmse: 31181\tvalid_0's l2: 9.72255e+08\n",
      "[41]\tvalid_0's rmse: 30990.6\tvalid_0's l2: 9.6042e+08\n",
      "[42]\tvalid_0's rmse: 30952.1\tvalid_0's l2: 9.5803e+08\n",
      "[43]\tvalid_0's rmse: 30839.1\tvalid_0's l2: 9.51051e+08\n",
      "[44]\tvalid_0's rmse: 30722.2\tvalid_0's l2: 9.43852e+08\n",
      "[45]\tvalid_0's rmse: 30760\tvalid_0's l2: 9.46176e+08\n",
      "[46]\tvalid_0's rmse: 30837.6\tvalid_0's l2: 9.50957e+08\n",
      "[47]\tvalid_0's rmse: 30817.6\tvalid_0's l2: 9.49721e+08\n",
      "[48]\tvalid_0's rmse: 30783.5\tvalid_0's l2: 9.47623e+08\n",
      "[49]\tvalid_0's rmse: 30833.6\tvalid_0's l2: 9.50708e+08\n",
      "[50]\tvalid_0's rmse: 30789.5\tvalid_0's l2: 9.47991e+08\n",
      "[51]\tvalid_0's rmse: 30844.8\tvalid_0's l2: 9.51404e+08\n",
      "[52]\tvalid_0's rmse: 30774.8\tvalid_0's l2: 9.47086e+08\n",
      "[53]\tvalid_0's rmse: 30808.8\tvalid_0's l2: 9.49181e+08\n",
      "[54]\tvalid_0's rmse: 30765.6\tvalid_0's l2: 9.46519e+08\n",
      "[55]\tvalid_0's rmse: 30787.4\tvalid_0's l2: 9.47863e+08\n",
      "[56]\tvalid_0's rmse: 30738.2\tvalid_0's l2: 9.44836e+08\n",
      "[57]\tvalid_0's rmse: 30800.9\tvalid_0's l2: 9.48697e+08\n",
      "[58]\tvalid_0's rmse: 30807.1\tvalid_0's l2: 9.49076e+08\n",
      "[59]\tvalid_0's rmse: 30741.9\tvalid_0's l2: 9.45066e+08\n",
      "[60]\tvalid_0's rmse: 30782.4\tvalid_0's l2: 9.47558e+08\n",
      "[61]\tvalid_0's rmse: 30842.7\tvalid_0's l2: 9.51273e+08\n",
      "[62]\tvalid_0's rmse: 30831.4\tvalid_0's l2: 9.50572e+08\n",
      "[63]\tvalid_0's rmse: 30827.5\tvalid_0's l2: 9.50334e+08\n",
      "[64]\tvalid_0's rmse: 30824.5\tvalid_0's l2: 9.5015e+08\n",
      "[65]\tvalid_0's rmse: 30780.7\tvalid_0's l2: 9.47454e+08\n",
      "[66]\tvalid_0's rmse: 30789.6\tvalid_0's l2: 9.47997e+08\n",
      "[67]\tvalid_0's rmse: 30792.2\tvalid_0's l2: 9.48157e+08\n",
      "[68]\tvalid_0's rmse: 30813.3\tvalid_0's l2: 9.49461e+08\n",
      "[69]\tvalid_0's rmse: 30821.9\tvalid_0's l2: 9.49987e+08\n",
      "[70]\tvalid_0's rmse: 30790\tvalid_0's l2: 9.48027e+08\n",
      "[71]\tvalid_0's rmse: 30773\tvalid_0's l2: 9.46979e+08\n",
      "[72]\tvalid_0's rmse: 30799.7\tvalid_0's l2: 9.4862e+08\n",
      "[73]\tvalid_0's rmse: 30746.6\tvalid_0's l2: 9.45356e+08\n",
      "[74]\tvalid_0's rmse: 30768.4\tvalid_0's l2: 9.46694e+08\n",
      "[75]\tvalid_0's rmse: 30811\tvalid_0's l2: 9.4932e+08\n",
      "[76]\tvalid_0's rmse: 30793.9\tvalid_0's l2: 9.48266e+08\n",
      "[77]\tvalid_0's rmse: 30769.8\tvalid_0's l2: 9.46782e+08\n",
      "[78]\tvalid_0's rmse: 30826.1\tvalid_0's l2: 9.50251e+08\n",
      "[79]\tvalid_0's rmse: 30757.7\tvalid_0's l2: 9.46034e+08\n",
      "[80]\tvalid_0's rmse: 30768.3\tvalid_0's l2: 9.46688e+08\n",
      "[81]\tvalid_0's rmse: 30813.6\tvalid_0's l2: 9.49475e+08\n",
      "[82]\tvalid_0's rmse: 30829\tvalid_0's l2: 9.50427e+08\n",
      "[83]\tvalid_0's rmse: 30806.7\tvalid_0's l2: 9.4905e+08\n",
      "[84]\tvalid_0's rmse: 30783.1\tvalid_0's l2: 9.47601e+08\n",
      "[85]\tvalid_0's rmse: 30809.4\tvalid_0's l2: 9.49218e+08\n",
      "[86]\tvalid_0's rmse: 30844.5\tvalid_0's l2: 9.51383e+08\n",
      "[87]\tvalid_0's rmse: 30821.1\tvalid_0's l2: 9.49939e+08\n",
      "[88]\tvalid_0's rmse: 30787\tvalid_0's l2: 9.4784e+08\n",
      "[89]\tvalid_0's rmse: 30783.2\tvalid_0's l2: 9.47605e+08\n",
      "[90]\tvalid_0's rmse: 30775.1\tvalid_0's l2: 9.47104e+08\n",
      "[91]\tvalid_0's rmse: 30821.6\tvalid_0's l2: 9.4997e+08\n",
      "[92]\tvalid_0's rmse: 30801.1\tvalid_0's l2: 9.48707e+08\n",
      "[93]\tvalid_0's rmse: 30816.4\tvalid_0's l2: 9.49651e+08\n",
      "[94]\tvalid_0's rmse: 30819.4\tvalid_0's l2: 9.49838e+08\n",
      "[95]\tvalid_0's rmse: 30807.3\tvalid_0's l2: 9.49088e+08\n",
      "[96]\tvalid_0's rmse: 30852.5\tvalid_0's l2: 9.51876e+08\n",
      "[97]\tvalid_0's rmse: 30814.9\tvalid_0's l2: 9.49557e+08\n",
      "[98]\tvalid_0's rmse: 30845.3\tvalid_0's l2: 9.51435e+08\n",
      "[99]\tvalid_0's rmse: 30830.2\tvalid_0's l2: 9.50501e+08\n",
      "[100]\tvalid_0's rmse: 30855.4\tvalid_0's l2: 9.52055e+08\n",
      "[1]\tvalid_0's rmse: 78231.9\tvalid_0's l2: 6.12023e+09\n",
      "[2]\tvalid_0's rmse: 72616.5\tvalid_0's l2: 5.27315e+09\n",
      "[3]\tvalid_0's rmse: 67610.6\tvalid_0's l2: 4.57119e+09\n",
      "[4]\tvalid_0's rmse: 63257.3\tvalid_0's l2: 4.00149e+09\n",
      "[5]\tvalid_0's rmse: 59227.7\tvalid_0's l2: 3.50792e+09\n",
      "[6]\tvalid_0's rmse: 55730.6\tvalid_0's l2: 3.1059e+09\n",
      "[7]\tvalid_0's rmse: 52448.4\tvalid_0's l2: 2.75083e+09\n",
      "[8]\tvalid_0's rmse: 49551.9\tvalid_0's l2: 2.45539e+09\n",
      "[9]\tvalid_0's rmse: 46999.4\tvalid_0's l2: 2.20895e+09\n",
      "[10]\tvalid_0's rmse: 44515.4\tvalid_0's l2: 1.98162e+09\n",
      "[11]\tvalid_0's rmse: 42544.2\tvalid_0's l2: 1.81001e+09\n",
      "[12]\tvalid_0's rmse: 40697.1\tvalid_0's l2: 1.65625e+09\n",
      "[13]\tvalid_0's rmse: 39009.5\tvalid_0's l2: 1.52174e+09\n",
      "[14]\tvalid_0's rmse: 37636.9\tvalid_0's l2: 1.41653e+09\n",
      "[15]\tvalid_0's rmse: 36520.4\tvalid_0's l2: 1.33374e+09\n",
      "[16]\tvalid_0's rmse: 35411.7\tvalid_0's l2: 1.25399e+09\n",
      "[17]\tvalid_0's rmse: 34584.1\tvalid_0's l2: 1.19606e+09\n",
      "[18]\tvalid_0's rmse: 33628.2\tvalid_0's l2: 1.13086e+09\n",
      "[19]\tvalid_0's rmse: 32770.8\tvalid_0's l2: 1.07392e+09\n",
      "[20]\tvalid_0's rmse: 32022\tvalid_0's l2: 1.02541e+09\n",
      "[21]\tvalid_0's rmse: 31514.7\tvalid_0's l2: 9.93179e+08\n",
      "[22]\tvalid_0's rmse: 30961.7\tvalid_0's l2: 9.58627e+08\n",
      "[23]\tvalid_0's rmse: 30390.8\tvalid_0's l2: 9.23603e+08\n",
      "[24]\tvalid_0's rmse: 29965\tvalid_0's l2: 8.979e+08\n",
      "[25]\tvalid_0's rmse: 29579.6\tvalid_0's l2: 8.7495e+08\n",
      "[26]\tvalid_0's rmse: 29215.7\tvalid_0's l2: 8.53559e+08\n",
      "[27]\tvalid_0's rmse: 28859.6\tvalid_0's l2: 8.32878e+08\n",
      "[28]\tvalid_0's rmse: 28579.2\tvalid_0's l2: 8.16773e+08\n",
      "[29]\tvalid_0's rmse: 28333.5\tvalid_0's l2: 8.02787e+08\n",
      "[30]\tvalid_0's rmse: 28246.7\tvalid_0's l2: 7.97877e+08\n",
      "[31]\tvalid_0's rmse: 28042.7\tvalid_0's l2: 7.86393e+08\n",
      "[32]\tvalid_0's rmse: 27772.2\tvalid_0's l2: 7.71295e+08\n",
      "[33]\tvalid_0's rmse: 27563\tvalid_0's l2: 7.59719e+08\n",
      "[34]\tvalid_0's rmse: 27467.1\tvalid_0's l2: 7.54442e+08\n",
      "[35]\tvalid_0's rmse: 27325\tvalid_0's l2: 7.46656e+08\n",
      "[36]\tvalid_0's rmse: 27154\tvalid_0's l2: 7.3734e+08\n",
      "[37]\tvalid_0's rmse: 27154\tvalid_0's l2: 7.3734e+08\n",
      "[38]\tvalid_0's rmse: 27101.3\tvalid_0's l2: 7.34481e+08\n",
      "[39]\tvalid_0's rmse: 27056.6\tvalid_0's l2: 7.32061e+08\n",
      "[40]\tvalid_0's rmse: 26894.2\tvalid_0's l2: 7.233e+08\n",
      "[41]\tvalid_0's rmse: 26821.7\tvalid_0's l2: 7.19405e+08\n",
      "[42]\tvalid_0's rmse: 26835.1\tvalid_0's l2: 7.20123e+08\n",
      "[43]\tvalid_0's rmse: 26824.9\tvalid_0's l2: 7.19574e+08\n",
      "[44]\tvalid_0's rmse: 26900\tvalid_0's l2: 7.23612e+08\n",
      "[45]\tvalid_0's rmse: 26882.3\tvalid_0's l2: 7.22659e+08\n",
      "[46]\tvalid_0's rmse: 26937.6\tvalid_0's l2: 7.25632e+08\n",
      "[47]\tvalid_0's rmse: 26971.3\tvalid_0's l2: 7.27451e+08\n",
      "[48]\tvalid_0's rmse: 27019.1\tvalid_0's l2: 7.30032e+08\n",
      "[49]\tvalid_0's rmse: 27029\tvalid_0's l2: 7.30567e+08\n",
      "[50]\tvalid_0's rmse: 27030.8\tvalid_0's l2: 7.30664e+08\n",
      "[51]\tvalid_0's rmse: 27008.2\tvalid_0's l2: 7.29442e+08\n",
      "[52]\tvalid_0's rmse: 27005.5\tvalid_0's l2: 7.29297e+08\n",
      "[53]\tvalid_0's rmse: 26994\tvalid_0's l2: 7.28676e+08\n",
      "[54]\tvalid_0's rmse: 27040.8\tvalid_0's l2: 7.31203e+08\n",
      "[55]\tvalid_0's rmse: 27077\tvalid_0's l2: 7.33162e+08\n",
      "[56]\tvalid_0's rmse: 26966.7\tvalid_0's l2: 7.27203e+08\n",
      "[57]\tvalid_0's rmse: 26992.1\tvalid_0's l2: 7.28573e+08\n",
      "[58]\tvalid_0's rmse: 27029.8\tvalid_0's l2: 7.30608e+08\n",
      "[59]\tvalid_0's rmse: 27026\tvalid_0's l2: 7.30405e+08\n",
      "[60]\tvalid_0's rmse: 26989\tvalid_0's l2: 7.28404e+08\n",
      "[61]\tvalid_0's rmse: 26970.1\tvalid_0's l2: 7.27385e+08\n",
      "[62]\tvalid_0's rmse: 26972.5\tvalid_0's l2: 7.27518e+08\n",
      "[63]\tvalid_0's rmse: 26995.3\tvalid_0's l2: 7.28746e+08\n",
      "[64]\tvalid_0's rmse: 26990.3\tvalid_0's l2: 7.28478e+08\n",
      "[65]\tvalid_0's rmse: 27050.5\tvalid_0's l2: 7.31731e+08\n",
      "[66]\tvalid_0's rmse: 27098.3\tvalid_0's l2: 7.34318e+08\n",
      "[67]\tvalid_0's rmse: 27100.6\tvalid_0's l2: 7.34441e+08\n",
      "[68]\tvalid_0's rmse: 27133.1\tvalid_0's l2: 7.36208e+08\n",
      "[69]\tvalid_0's rmse: 27099.1\tvalid_0's l2: 7.3436e+08\n",
      "[70]\tvalid_0's rmse: 27104.8\tvalid_0's l2: 7.34673e+08\n",
      "[71]\tvalid_0's rmse: 27104.4\tvalid_0's l2: 7.3465e+08\n",
      "[72]\tvalid_0's rmse: 27130.9\tvalid_0's l2: 7.36083e+08\n",
      "[73]\tvalid_0's rmse: 27137.3\tvalid_0's l2: 7.36433e+08\n",
      "[74]\tvalid_0's rmse: 27108\tvalid_0's l2: 7.34843e+08\n",
      "[75]\tvalid_0's rmse: 27093.6\tvalid_0's l2: 7.34061e+08\n",
      "[76]\tvalid_0's rmse: 27130.3\tvalid_0's l2: 7.36053e+08\n",
      "[77]\tvalid_0's rmse: 27115.8\tvalid_0's l2: 7.35268e+08\n",
      "[78]\tvalid_0's rmse: 27099.8\tvalid_0's l2: 7.34399e+08\n",
      "[79]\tvalid_0's rmse: 27100.3\tvalid_0's l2: 7.34426e+08\n",
      "[80]\tvalid_0's rmse: 27094.4\tvalid_0's l2: 7.34108e+08\n",
      "[81]\tvalid_0's rmse: 27097.7\tvalid_0's l2: 7.34288e+08\n",
      "[82]\tvalid_0's rmse: 27138.2\tvalid_0's l2: 7.36481e+08\n",
      "[83]\tvalid_0's rmse: 27176\tvalid_0's l2: 7.38533e+08\n",
      "[84]\tvalid_0's rmse: 27241.7\tvalid_0's l2: 7.42109e+08\n",
      "[85]\tvalid_0's rmse: 27233.4\tvalid_0's l2: 7.41659e+08\n",
      "[86]\tvalid_0's rmse: 27158.5\tvalid_0's l2: 7.37584e+08\n",
      "[87]\tvalid_0's rmse: 27182.4\tvalid_0's l2: 7.38881e+08\n",
      "[88]\tvalid_0's rmse: 27212.8\tvalid_0's l2: 7.40539e+08\n",
      "[89]\tvalid_0's rmse: 27252.9\tvalid_0's l2: 7.42719e+08\n",
      "[90]\tvalid_0's rmse: 27254.4\tvalid_0's l2: 7.42801e+08\n",
      "[91]\tvalid_0's rmse: 27269.5\tvalid_0's l2: 7.43624e+08\n",
      "[92]\tvalid_0's rmse: 27276.5\tvalid_0's l2: 7.44009e+08\n",
      "[93]\tvalid_0's rmse: 27273.9\tvalid_0's l2: 7.43865e+08\n",
      "[94]\tvalid_0's rmse: 27296.1\tvalid_0's l2: 7.45078e+08\n",
      "[95]\tvalid_0's rmse: 27306.8\tvalid_0's l2: 7.45662e+08\n",
      "[96]\tvalid_0's rmse: 27324.4\tvalid_0's l2: 7.46623e+08\n",
      "[97]\tvalid_0's rmse: 27310\tvalid_0's l2: 7.45835e+08\n",
      "[98]\tvalid_0's rmse: 27301.4\tvalid_0's l2: 7.45367e+08\n",
      "[99]\tvalid_0's rmse: 27313.7\tvalid_0's l2: 7.46036e+08\n",
      "[100]\tvalid_0's rmse: 27310.7\tvalid_0's l2: 7.45874e+08\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1]\tvalid_0's rmse: 74486.4\tvalid_0's l2: 5.54822e+09\n",
      "[2]\tvalid_0's rmse: 68639\tvalid_0's l2: 4.71131e+09\n",
      "[3]\tvalid_0's rmse: 63326.2\tvalid_0's l2: 4.0102e+09\n",
      "[4]\tvalid_0's rmse: 59492.8\tvalid_0's l2: 3.5394e+09\n",
      "[5]\tvalid_0's rmse: 55464.8\tvalid_0's l2: 3.07634e+09\n",
      "[6]\tvalid_0's rmse: 52523.6\tvalid_0's l2: 2.75873e+09\n",
      "[7]\tvalid_0's rmse: 49666.5\tvalid_0's l2: 2.46676e+09\n",
      "[8]\tvalid_0's rmse: 46946.4\tvalid_0's l2: 2.20396e+09\n",
      "[9]\tvalid_0's rmse: 44913.6\tvalid_0's l2: 2.01723e+09\n",
      "[10]\tvalid_0's rmse: 43095.2\tvalid_0's l2: 1.85719e+09\n",
      "[11]\tvalid_0's rmse: 41639.8\tvalid_0's l2: 1.73387e+09\n",
      "[12]\tvalid_0's rmse: 40238.3\tvalid_0's l2: 1.61912e+09\n",
      "[13]\tvalid_0's rmse: 39320.1\tvalid_0's l2: 1.54607e+09\n",
      "[14]\tvalid_0's rmse: 38342.6\tvalid_0's l2: 1.47015e+09\n",
      "[15]\tvalid_0's rmse: 37606.6\tvalid_0's l2: 1.41425e+09\n",
      "[16]\tvalid_0's rmse: 37047.5\tvalid_0's l2: 1.37252e+09\n",
      "[17]\tvalid_0's rmse: 36544.3\tvalid_0's l2: 1.33548e+09\n",
      "[18]\tvalid_0's rmse: 36270.2\tvalid_0's l2: 1.31553e+09\n",
      "[19]\tvalid_0's rmse: 35927.6\tvalid_0's l2: 1.29079e+09\n",
      "[20]\tvalid_0's rmse: 35809.8\tvalid_0's l2: 1.28234e+09\n",
      "[21]\tvalid_0's rmse: 35502.4\tvalid_0's l2: 1.26042e+09\n",
      "[22]\tvalid_0's rmse: 35387\tvalid_0's l2: 1.25224e+09\n",
      "[23]\tvalid_0's rmse: 35197.2\tvalid_0's l2: 1.23884e+09\n",
      "[24]\tvalid_0's rmse: 35040.1\tvalid_0's l2: 1.22781e+09\n",
      "[25]\tvalid_0's rmse: 35075.3\tvalid_0's l2: 1.23028e+09\n",
      "[26]\tvalid_0's rmse: 34908.4\tvalid_0's l2: 1.21859e+09\n",
      "[27]\tvalid_0's rmse: 34937.6\tvalid_0's l2: 1.22064e+09\n",
      "[28]\tvalid_0's rmse: 34881.9\tvalid_0's l2: 1.21675e+09\n",
      "[29]\tvalid_0's rmse: 34835.6\tvalid_0's l2: 1.21352e+09\n",
      "[30]\tvalid_0's rmse: 34954.7\tvalid_0's l2: 1.22183e+09\n",
      "[31]\tvalid_0's rmse: 34930.4\tvalid_0's l2: 1.22013e+09\n",
      "[32]\tvalid_0's rmse: 35039.6\tvalid_0's l2: 1.22778e+09\n",
      "[33]\tvalid_0's rmse: 35038\tvalid_0's l2: 1.22766e+09\n",
      "[34]\tvalid_0's rmse: 35048.6\tvalid_0's l2: 1.22841e+09\n",
      "[35]\tvalid_0's rmse: 35168.2\tvalid_0's l2: 1.2368e+09\n",
      "[36]\tvalid_0's rmse: 35181.4\tvalid_0's l2: 1.23773e+09\n",
      "[37]\tvalid_0's rmse: 35300.5\tvalid_0's l2: 1.24612e+09\n",
      "[38]\tvalid_0's rmse: 35300.6\tvalid_0's l2: 1.24614e+09\n",
      "[39]\tvalid_0's rmse: 35287\tvalid_0's l2: 1.24517e+09\n",
      "[40]\tvalid_0's rmse: 35360.6\tvalid_0's l2: 1.25038e+09\n",
      "[41]\tvalid_0's rmse: 35435.9\tvalid_0's l2: 1.25571e+09\n",
      "[42]\tvalid_0's rmse: 35419.7\tvalid_0's l2: 1.25456e+09\n",
      "[43]\tvalid_0's rmse: 35399.1\tvalid_0's l2: 1.25309e+09\n",
      "[44]\tvalid_0's rmse: 35481.1\tvalid_0's l2: 1.25891e+09\n",
      "[45]\tvalid_0's rmse: 35459.5\tvalid_0's l2: 1.25738e+09\n",
      "[46]\tvalid_0's rmse: 35673.4\tvalid_0's l2: 1.27259e+09\n",
      "[47]\tvalid_0's rmse: 35721.5\tvalid_0's l2: 1.27602e+09\n",
      "[48]\tvalid_0's rmse: 35763.6\tvalid_0's l2: 1.27903e+09\n",
      "[49]\tvalid_0's rmse: 35934.6\tvalid_0's l2: 1.2913e+09\n",
      "[50]\tvalid_0's rmse: 35922\tvalid_0's l2: 1.29039e+09\n",
      "[51]\tvalid_0's rmse: 35979.4\tvalid_0's l2: 1.29452e+09\n",
      "[52]\tvalid_0's rmse: 36045.3\tvalid_0's l2: 1.29926e+09\n",
      "[53]\tvalid_0's rmse: 36023.1\tvalid_0's l2: 1.29767e+09\n",
      "[54]\tvalid_0's rmse: 36080.5\tvalid_0's l2: 1.3018e+09\n",
      "[55]\tvalid_0's rmse: 36133\tvalid_0's l2: 1.30559e+09\n",
      "[56]\tvalid_0's rmse: 36136\tvalid_0's l2: 1.30581e+09\n",
      "[57]\tvalid_0's rmse: 36213.8\tvalid_0's l2: 1.31144e+09\n",
      "[58]\tvalid_0's rmse: 36308.4\tvalid_0's l2: 1.3183e+09\n",
      "[59]\tvalid_0's rmse: 36370.9\tvalid_0's l2: 1.32284e+09\n",
      "[60]\tvalid_0's rmse: 36417.8\tvalid_0's l2: 1.32626e+09\n",
      "[61]\tvalid_0's rmse: 36480.1\tvalid_0's l2: 1.3308e+09\n",
      "[62]\tvalid_0's rmse: 36554.7\tvalid_0's l2: 1.33625e+09\n",
      "[63]\tvalid_0's rmse: 36652.9\tvalid_0's l2: 1.34344e+09\n",
      "[64]\tvalid_0's rmse: 36652\tvalid_0's l2: 1.34337e+09\n",
      "[65]\tvalid_0's rmse: 36729.1\tvalid_0's l2: 1.34902e+09\n",
      "[66]\tvalid_0's rmse: 36716.1\tvalid_0's l2: 1.34807e+09\n",
      "[67]\tvalid_0's rmse: 36757.7\tvalid_0's l2: 1.35113e+09\n",
      "[68]\tvalid_0's rmse: 36818.3\tvalid_0's l2: 1.35559e+09\n",
      "[69]\tvalid_0's rmse: 36944\tvalid_0's l2: 1.36486e+09\n",
      "[70]\tvalid_0's rmse: 36989.3\tvalid_0's l2: 1.36821e+09\n",
      "[71]\tvalid_0's rmse: 37028.9\tvalid_0's l2: 1.37114e+09\n",
      "[72]\tvalid_0's rmse: 37099.6\tvalid_0's l2: 1.37638e+09\n",
      "[73]\tvalid_0's rmse: 37144.1\tvalid_0's l2: 1.37969e+09\n",
      "[74]\tvalid_0's rmse: 37134.4\tvalid_0's l2: 1.37897e+09\n",
      "[75]\tvalid_0's rmse: 37187.6\tvalid_0's l2: 1.38292e+09\n",
      "[76]\tvalid_0's rmse: 37253.7\tvalid_0's l2: 1.38784e+09\n",
      "[77]\tvalid_0's rmse: 37277.1\tvalid_0's l2: 1.38958e+09\n",
      "[78]\tvalid_0's rmse: 37309.4\tvalid_0's l2: 1.39199e+09\n",
      "[79]\tvalid_0's rmse: 37348.5\tvalid_0's l2: 1.39491e+09\n",
      "[80]\tvalid_0's rmse: 37403.2\tvalid_0's l2: 1.399e+09\n",
      "[81]\tvalid_0's rmse: 37375.8\tvalid_0's l2: 1.39695e+09\n",
      "[82]\tvalid_0's rmse: 37387.2\tvalid_0's l2: 1.3978e+09\n",
      "[83]\tvalid_0's rmse: 37456.2\tvalid_0's l2: 1.40297e+09\n",
      "[84]\tvalid_0's rmse: 37499.6\tvalid_0's l2: 1.40622e+09\n",
      "[85]\tvalid_0's rmse: 37515.3\tvalid_0's l2: 1.4074e+09\n",
      "[86]\tvalid_0's rmse: 37560.5\tvalid_0's l2: 1.41079e+09\n",
      "[87]\tvalid_0's rmse: 37572.5\tvalid_0's l2: 1.4117e+09\n",
      "[88]\tvalid_0's rmse: 37640.2\tvalid_0's l2: 1.41678e+09\n",
      "[89]\tvalid_0's rmse: 37693.8\tvalid_0's l2: 1.42082e+09\n",
      "[90]\tvalid_0's rmse: 37731.5\tvalid_0's l2: 1.42366e+09\n",
      "[91]\tvalid_0's rmse: 37753.2\tvalid_0's l2: 1.4253e+09\n",
      "[92]\tvalid_0's rmse: 37763.9\tvalid_0's l2: 1.42611e+09\n",
      "[93]\tvalid_0's rmse: 37793.5\tvalid_0's l2: 1.42835e+09\n",
      "[94]\tvalid_0's rmse: 37766.7\tvalid_0's l2: 1.42632e+09\n",
      "[95]\tvalid_0's rmse: 37816.9\tvalid_0's l2: 1.43012e+09\n",
      "[96]\tvalid_0's rmse: 37821.7\tvalid_0's l2: 1.43048e+09\n",
      "[97]\tvalid_0's rmse: 37852\tvalid_0's l2: 1.43277e+09\n",
      "[98]\tvalid_0's rmse: 37880.7\tvalid_0's l2: 1.43495e+09\n",
      "[99]\tvalid_0's rmse: 37899.8\tvalid_0's l2: 1.43639e+09\n",
      "[100]\tvalid_0's rmse: 37945.9\tvalid_0's l2: 1.43989e+09\n",
      "[1]\tvalid_0's rmse: 66890.3\tvalid_0's l2: 4.47431e+09\n",
      "[2]\tvalid_0's rmse: 61728.2\tvalid_0's l2: 3.81037e+09\n",
      "[3]\tvalid_0's rmse: 56908.5\tvalid_0's l2: 3.23857e+09\n",
      "[4]\tvalid_0's rmse: 52866.3\tvalid_0's l2: 2.79485e+09\n",
      "[5]\tvalid_0's rmse: 49515.6\tvalid_0's l2: 2.4518e+09\n",
      "[6]\tvalid_0's rmse: 46395.6\tvalid_0's l2: 2.15255e+09\n",
      "[7]\tvalid_0's rmse: 43448.3\tvalid_0's l2: 1.88776e+09\n",
      "[8]\tvalid_0's rmse: 41060.2\tvalid_0's l2: 1.68594e+09\n",
      "[9]\tvalid_0's rmse: 39087.8\tvalid_0's l2: 1.52786e+09\n",
      "[10]\tvalid_0's rmse: 37408.9\tvalid_0's l2: 1.39943e+09\n",
      "[11]\tvalid_0's rmse: 35613.1\tvalid_0's l2: 1.26829e+09\n",
      "[12]\tvalid_0's rmse: 34168.2\tvalid_0's l2: 1.16746e+09\n",
      "[13]\tvalid_0's rmse: 32873.8\tvalid_0's l2: 1.08069e+09\n",
      "[14]\tvalid_0's rmse: 31767.7\tvalid_0's l2: 1.00919e+09\n",
      "[15]\tvalid_0's rmse: 30935.8\tvalid_0's l2: 9.57023e+08\n",
      "[16]\tvalid_0's rmse: 30311.4\tvalid_0's l2: 9.18781e+08\n",
      "[17]\tvalid_0's rmse: 29731.3\tvalid_0's l2: 8.83948e+08\n",
      "[18]\tvalid_0's rmse: 29283.8\tvalid_0's l2: 8.57541e+08\n",
      "[19]\tvalid_0's rmse: 28759.5\tvalid_0's l2: 8.27108e+08\n",
      "[20]\tvalid_0's rmse: 28471\tvalid_0's l2: 8.10599e+08\n",
      "[21]\tvalid_0's rmse: 28296.1\tvalid_0's l2: 8.00671e+08\n",
      "[22]\tvalid_0's rmse: 28241.4\tvalid_0's l2: 7.97574e+08\n",
      "[23]\tvalid_0's rmse: 28182.3\tvalid_0's l2: 7.9424e+08\n",
      "[24]\tvalid_0's rmse: 27987.7\tvalid_0's l2: 7.83312e+08\n",
      "[25]\tvalid_0's rmse: 27908.6\tvalid_0's l2: 7.7889e+08\n",
      "[26]\tvalid_0's rmse: 27848.9\tvalid_0's l2: 7.75562e+08\n",
      "[27]\tvalid_0's rmse: 27707.5\tvalid_0's l2: 7.67704e+08\n",
      "[28]\tvalid_0's rmse: 27688\tvalid_0's l2: 7.66626e+08\n",
      "[29]\tvalid_0's rmse: 27679.6\tvalid_0's l2: 7.66159e+08\n",
      "[30]\tvalid_0's rmse: 27726.2\tvalid_0's l2: 7.68743e+08\n",
      "[31]\tvalid_0's rmse: 27738.8\tvalid_0's l2: 7.69441e+08\n",
      "[32]\tvalid_0's rmse: 27696.1\tvalid_0's l2: 7.67072e+08\n",
      "[33]\tvalid_0's rmse: 27799.7\tvalid_0's l2: 7.72826e+08\n",
      "[34]\tvalid_0's rmse: 27870.6\tvalid_0's l2: 7.7677e+08\n",
      "[35]\tvalid_0's rmse: 27866.1\tvalid_0's l2: 7.7652e+08\n",
      "[36]\tvalid_0's rmse: 27890.6\tvalid_0's l2: 7.77887e+08\n",
      "[37]\tvalid_0's rmse: 27924\tvalid_0's l2: 7.79751e+08\n",
      "[38]\tvalid_0's rmse: 27953\tvalid_0's l2: 7.81368e+08\n",
      "[39]\tvalid_0's rmse: 27992.1\tvalid_0's l2: 7.83557e+08\n",
      "[40]\tvalid_0's rmse: 28091.7\tvalid_0's l2: 7.89146e+08\n",
      "[41]\tvalid_0's rmse: 28129.4\tvalid_0's l2: 7.91265e+08\n",
      "[42]\tvalid_0's rmse: 28139\tvalid_0's l2: 7.91803e+08\n",
      "[43]\tvalid_0's rmse: 28077.8\tvalid_0's l2: 7.88363e+08\n",
      "[44]\tvalid_0's rmse: 28125.3\tvalid_0's l2: 7.9103e+08\n",
      "[45]\tvalid_0's rmse: 28215.8\tvalid_0's l2: 7.96131e+08\n",
      "[46]\tvalid_0's rmse: 28322.2\tvalid_0's l2: 8.02146e+08\n",
      "[47]\tvalid_0's rmse: 28364.6\tvalid_0's l2: 8.04551e+08\n",
      "[48]\tvalid_0's rmse: 28468.3\tvalid_0's l2: 8.10446e+08\n",
      "[49]\tvalid_0's rmse: 28390.8\tvalid_0's l2: 8.0604e+08\n",
      "[50]\tvalid_0's rmse: 28387.7\tvalid_0's l2: 8.0586e+08\n",
      "[51]\tvalid_0's rmse: 28414.4\tvalid_0's l2: 8.0738e+08\n",
      "[52]\tvalid_0's rmse: 28296.1\tvalid_0's l2: 8.00667e+08\n",
      "[53]\tvalid_0's rmse: 28311.6\tvalid_0's l2: 8.01546e+08\n",
      "[54]\tvalid_0's rmse: 28327\tvalid_0's l2: 8.02421e+08\n",
      "[55]\tvalid_0's rmse: 28248.5\tvalid_0's l2: 7.97979e+08\n",
      "[56]\tvalid_0's rmse: 28293.3\tvalid_0's l2: 8.0051e+08\n",
      "[57]\tvalid_0's rmse: 28381.1\tvalid_0's l2: 8.05488e+08\n",
      "[58]\tvalid_0's rmse: 28396.5\tvalid_0's l2: 8.06364e+08\n",
      "[59]\tvalid_0's rmse: 28395.6\tvalid_0's l2: 8.06313e+08\n",
      "[60]\tvalid_0's rmse: 28442.8\tvalid_0's l2: 8.08992e+08\n",
      "[61]\tvalid_0's rmse: 28484.7\tvalid_0's l2: 8.11378e+08\n",
      "[62]\tvalid_0's rmse: 28505.8\tvalid_0's l2: 8.12581e+08\n",
      "[63]\tvalid_0's rmse: 28467.4\tvalid_0's l2: 8.1039e+08\n",
      "[64]\tvalid_0's rmse: 28487.2\tvalid_0's l2: 8.1152e+08\n",
      "[65]\tvalid_0's rmse: 28529.5\tvalid_0's l2: 8.13931e+08\n",
      "[66]\tvalid_0's rmse: 28483.2\tvalid_0's l2: 8.11293e+08\n",
      "[67]\tvalid_0's rmse: 28491.2\tvalid_0's l2: 8.1175e+08\n",
      "[68]\tvalid_0's rmse: 28546.3\tvalid_0's l2: 8.14893e+08\n",
      "[69]\tvalid_0's rmse: 28539\tvalid_0's l2: 8.14474e+08\n",
      "[70]\tvalid_0's rmse: 28535.5\tvalid_0's l2: 8.14274e+08\n",
      "[71]\tvalid_0's rmse: 28553.9\tvalid_0's l2: 8.15325e+08\n",
      "[72]\tvalid_0's rmse: 28503.3\tvalid_0's l2: 8.12439e+08\n",
      "[73]\tvalid_0's rmse: 28476\tvalid_0's l2: 8.10883e+08\n",
      "[74]\tvalid_0's rmse: 28496\tvalid_0's l2: 8.12019e+08\n",
      "[75]\tvalid_0's rmse: 28560.5\tvalid_0's l2: 8.157e+08\n",
      "[76]\tvalid_0's rmse: 28623.3\tvalid_0's l2: 8.19291e+08\n",
      "[77]\tvalid_0's rmse: 28612.5\tvalid_0's l2: 8.18678e+08\n",
      "[78]\tvalid_0's rmse: 28596.3\tvalid_0's l2: 8.17747e+08\n",
      "[79]\tvalid_0's rmse: 28610.9\tvalid_0's l2: 8.18583e+08\n",
      "[80]\tvalid_0's rmse: 28619.6\tvalid_0's l2: 8.19082e+08\n",
      "[81]\tvalid_0's rmse: 28578\tvalid_0's l2: 8.16703e+08\n",
      "[82]\tvalid_0's rmse: 28552\tvalid_0's l2: 8.15218e+08\n",
      "[83]\tvalid_0's rmse: 28499\tvalid_0's l2: 8.12191e+08\n",
      "[84]\tvalid_0's rmse: 28511\tvalid_0's l2: 8.12878e+08\n",
      "[85]\tvalid_0's rmse: 28468.2\tvalid_0's l2: 8.10437e+08\n",
      "[86]\tvalid_0's rmse: 28469.5\tvalid_0's l2: 8.10513e+08\n",
      "[87]\tvalid_0's rmse: 28461.8\tvalid_0's l2: 8.10072e+08\n",
      "[88]\tvalid_0's rmse: 28449.7\tvalid_0's l2: 8.09383e+08\n",
      "[89]\tvalid_0's rmse: 28481\tvalid_0's l2: 8.11169e+08\n",
      "[90]\tvalid_0's rmse: 28467.2\tvalid_0's l2: 8.10379e+08\n",
      "[91]\tvalid_0's rmse: 28484.6\tvalid_0's l2: 8.11373e+08\n",
      "[92]\tvalid_0's rmse: 28458.3\tvalid_0's l2: 8.09877e+08\n",
      "[93]\tvalid_0's rmse: 28459.2\tvalid_0's l2: 8.09929e+08\n",
      "[94]\tvalid_0's rmse: 28419.5\tvalid_0's l2: 8.07666e+08\n",
      "[95]\tvalid_0's rmse: 28406.3\tvalid_0's l2: 8.06919e+08\n",
      "[96]\tvalid_0's rmse: 28401.2\tvalid_0's l2: 8.06628e+08\n",
      "[97]\tvalid_0's rmse: 28410.4\tvalid_0's l2: 8.07152e+08\n",
      "[98]\tvalid_0's rmse: 28421.3\tvalid_0's l2: 8.0777e+08\n",
      "[99]\tvalid_0's rmse: 28404.3\tvalid_0's l2: 8.06804e+08\n",
      "[100]\tvalid_0's rmse: 28378\tvalid_0's l2: 8.0531e+08\n",
      "[1]\tvalid_0's rmse: 67360.2\tvalid_0's l2: 4.53739e+09\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2]\tvalid_0's rmse: 61932.2\tvalid_0's l2: 3.8356e+09\n",
      "[3]\tvalid_0's rmse: 57194.5\tvalid_0's l2: 3.27122e+09\n",
      "[4]\tvalid_0's rmse: 53184.3\tvalid_0's l2: 2.82857e+09\n",
      "[5]\tvalid_0's rmse: 49465.7\tvalid_0's l2: 2.44685e+09\n",
      "[6]\tvalid_0's rmse: 46139.2\tvalid_0's l2: 2.12883e+09\n",
      "[7]\tvalid_0's rmse: 43358.6\tvalid_0's l2: 1.87997e+09\n",
      "[8]\tvalid_0's rmse: 40777.4\tvalid_0's l2: 1.66279e+09\n",
      "[9]\tvalid_0's rmse: 38467\tvalid_0's l2: 1.47971e+09\n",
      "[10]\tvalid_0's rmse: 36238.1\tvalid_0's l2: 1.3132e+09\n",
      "[11]\tvalid_0's rmse: 34308.3\tvalid_0's l2: 1.17706e+09\n",
      "[12]\tvalid_0's rmse: 32677.5\tvalid_0's l2: 1.06782e+09\n",
      "[13]\tvalid_0's rmse: 31290.1\tvalid_0's l2: 9.79069e+08\n",
      "[14]\tvalid_0's rmse: 30100.5\tvalid_0's l2: 9.06038e+08\n",
      "[15]\tvalid_0's rmse: 29079.5\tvalid_0's l2: 8.45619e+08\n",
      "[16]\tvalid_0's rmse: 28176.2\tvalid_0's l2: 7.939e+08\n",
      "[17]\tvalid_0's rmse: 27430.7\tvalid_0's l2: 7.52442e+08\n",
      "[18]\tvalid_0's rmse: 26702.4\tvalid_0's l2: 7.13016e+08\n",
      "[19]\tvalid_0's rmse: 26135.7\tvalid_0's l2: 6.83074e+08\n",
      "[20]\tvalid_0's rmse: 25598.8\tvalid_0's l2: 6.55296e+08\n",
      "[21]\tvalid_0's rmse: 25003.2\tvalid_0's l2: 6.2516e+08\n",
      "[22]\tvalid_0's rmse: 24609.3\tvalid_0's l2: 6.0562e+08\n",
      "[23]\tvalid_0's rmse: 24378.9\tvalid_0's l2: 5.9433e+08\n",
      "[24]\tvalid_0's rmse: 24109.6\tvalid_0's l2: 5.81272e+08\n",
      "[25]\tvalid_0's rmse: 23945.5\tvalid_0's l2: 5.73387e+08\n",
      "[26]\tvalid_0's rmse: 23765.7\tvalid_0's l2: 5.64807e+08\n",
      "[27]\tvalid_0's rmse: 23619.9\tvalid_0's l2: 5.57901e+08\n",
      "[28]\tvalid_0's rmse: 23393.9\tvalid_0's l2: 5.47273e+08\n",
      "[29]\tvalid_0's rmse: 23359.4\tvalid_0's l2: 5.45663e+08\n",
      "[30]\tvalid_0's rmse: 23238.2\tvalid_0's l2: 5.40015e+08\n",
      "[31]\tvalid_0's rmse: 23147.9\tvalid_0's l2: 5.35824e+08\n",
      "[32]\tvalid_0's rmse: 23098.6\tvalid_0's l2: 5.33543e+08\n",
      "[33]\tvalid_0's rmse: 23005.8\tvalid_0's l2: 5.29265e+08\n",
      "[34]\tvalid_0's rmse: 22960.5\tvalid_0's l2: 5.27183e+08\n",
      "[35]\tvalid_0's rmse: 22967.2\tvalid_0's l2: 5.27491e+08\n",
      "[36]\tvalid_0's rmse: 22925.1\tvalid_0's l2: 5.25561e+08\n",
      "[37]\tvalid_0's rmse: 22924.1\tvalid_0's l2: 5.25512e+08\n",
      "[38]\tvalid_0's rmse: 23000.6\tvalid_0's l2: 5.29026e+08\n",
      "[39]\tvalid_0's rmse: 23041.5\tvalid_0's l2: 5.30913e+08\n",
      "[40]\tvalid_0's rmse: 23069.7\tvalid_0's l2: 5.32209e+08\n",
      "[41]\tvalid_0's rmse: 23114.6\tvalid_0's l2: 5.34285e+08\n",
      "[42]\tvalid_0's rmse: 23090.3\tvalid_0's l2: 5.33162e+08\n",
      "[43]\tvalid_0's rmse: 23103.5\tvalid_0's l2: 5.33771e+08\n",
      "[44]\tvalid_0's rmse: 23114.7\tvalid_0's l2: 5.34291e+08\n",
      "[45]\tvalid_0's rmse: 23098.4\tvalid_0's l2: 5.33537e+08\n",
      "[46]\tvalid_0's rmse: 23053.1\tvalid_0's l2: 5.31444e+08\n",
      "[47]\tvalid_0's rmse: 23056.8\tvalid_0's l2: 5.31617e+08\n",
      "[48]\tvalid_0's rmse: 23090.3\tvalid_0's l2: 5.33163e+08\n",
      "[49]\tvalid_0's rmse: 23124.6\tvalid_0's l2: 5.34747e+08\n",
      "[50]\tvalid_0's rmse: 23131.3\tvalid_0's l2: 5.35059e+08\n",
      "[51]\tvalid_0's rmse: 23125.2\tvalid_0's l2: 5.34776e+08\n",
      "[52]\tvalid_0's rmse: 23137\tvalid_0's l2: 5.35321e+08\n",
      "[53]\tvalid_0's rmse: 23123.2\tvalid_0's l2: 5.34683e+08\n",
      "[54]\tvalid_0's rmse: 23132.1\tvalid_0's l2: 5.35095e+08\n",
      "[55]\tvalid_0's rmse: 23103.3\tvalid_0's l2: 5.33761e+08\n",
      "[56]\tvalid_0's rmse: 23103.3\tvalid_0's l2: 5.33762e+08\n",
      "[57]\tvalid_0's rmse: 23092.6\tvalid_0's l2: 5.3327e+08\n",
      "[58]\tvalid_0's rmse: 23128.3\tvalid_0's l2: 5.34918e+08\n",
      "[59]\tvalid_0's rmse: 23162.5\tvalid_0's l2: 5.36503e+08\n",
      "[60]\tvalid_0's rmse: 23173\tvalid_0's l2: 5.36989e+08\n",
      "[61]\tvalid_0's rmse: 23196.9\tvalid_0's l2: 5.38097e+08\n",
      "[62]\tvalid_0's rmse: 23249.1\tvalid_0's l2: 5.40523e+08\n",
      "[63]\tvalid_0's rmse: 23312.3\tvalid_0's l2: 5.43464e+08\n",
      "[64]\tvalid_0's rmse: 23316.7\tvalid_0's l2: 5.4367e+08\n",
      "[65]\tvalid_0's rmse: 23312.5\tvalid_0's l2: 5.43474e+08\n",
      "[66]\tvalid_0's rmse: 23328.8\tvalid_0's l2: 5.44235e+08\n",
      "[67]\tvalid_0's rmse: 23330.7\tvalid_0's l2: 5.44322e+08\n",
      "[68]\tvalid_0's rmse: 23326.1\tvalid_0's l2: 5.44107e+08\n",
      "[69]\tvalid_0's rmse: 23302.4\tvalid_0's l2: 5.43003e+08\n",
      "[70]\tvalid_0's rmse: 23279.6\tvalid_0's l2: 5.4194e+08\n",
      "[71]\tvalid_0's rmse: 23281.3\tvalid_0's l2: 5.42019e+08\n",
      "[72]\tvalid_0's rmse: 23288.3\tvalid_0's l2: 5.42347e+08\n",
      "[73]\tvalid_0's rmse: 23299.8\tvalid_0's l2: 5.42881e+08\n",
      "[74]\tvalid_0's rmse: 23302.3\tvalid_0's l2: 5.42995e+08\n",
      "[75]\tvalid_0's rmse: 23279.9\tvalid_0's l2: 5.41954e+08\n",
      "[76]\tvalid_0's rmse: 23346.7\tvalid_0's l2: 5.4507e+08\n",
      "[77]\tvalid_0's rmse: 23369.2\tvalid_0's l2: 5.46121e+08\n",
      "[78]\tvalid_0's rmse: 23386.7\tvalid_0's l2: 5.46938e+08\n",
      "[79]\tvalid_0's rmse: 23388.1\tvalid_0's l2: 5.47005e+08\n",
      "[80]\tvalid_0's rmse: 23390.1\tvalid_0's l2: 5.47096e+08\n",
      "[81]\tvalid_0's rmse: 23356.9\tvalid_0's l2: 5.45543e+08\n",
      "[82]\tvalid_0's rmse: 23289.2\tvalid_0's l2: 5.42389e+08\n",
      "[83]\tvalid_0's rmse: 23314.3\tvalid_0's l2: 5.43554e+08\n",
      "[84]\tvalid_0's rmse: 23340.7\tvalid_0's l2: 5.44787e+08\n",
      "[85]\tvalid_0's rmse: 23349\tvalid_0's l2: 5.45176e+08\n",
      "[86]\tvalid_0's rmse: 23347.3\tvalid_0's l2: 5.45096e+08\n",
      "[87]\tvalid_0's rmse: 23431\tvalid_0's l2: 5.49012e+08\n",
      "[88]\tvalid_0's rmse: 23432.5\tvalid_0's l2: 5.49081e+08\n",
      "[89]\tvalid_0's rmse: 23449.3\tvalid_0's l2: 5.4987e+08\n",
      "[90]\tvalid_0's rmse: 23481.2\tvalid_0's l2: 5.51367e+08\n",
      "[91]\tvalid_0's rmse: 23490.3\tvalid_0's l2: 5.51792e+08\n",
      "[92]\tvalid_0's rmse: 23471.3\tvalid_0's l2: 5.50901e+08\n",
      "[93]\tvalid_0's rmse: 23478.7\tvalid_0's l2: 5.5125e+08\n",
      "[94]\tvalid_0's rmse: 23473.2\tvalid_0's l2: 5.50991e+08\n",
      "[95]\tvalid_0's rmse: 23469.8\tvalid_0's l2: 5.50831e+08\n",
      "[96]\tvalid_0's rmse: 23463.9\tvalid_0's l2: 5.50553e+08\n",
      "[97]\tvalid_0's rmse: 23491.6\tvalid_0's l2: 5.51856e+08\n",
      "[98]\tvalid_0's rmse: 23486.1\tvalid_0's l2: 5.51597e+08\n",
      "[99]\tvalid_0's rmse: 23494.8\tvalid_0's l2: 5.52005e+08\n",
      "[100]\tvalid_0's rmse: 23502.3\tvalid_0's l2: 5.52359e+08\n",
      "[1]\tvalid_0's rmse: 69297.5\tvalid_0's l2: 4.80215e+09\n",
      "[2]\tvalid_0's rmse: 64173.3\tvalid_0's l2: 4.11821e+09\n",
      "[3]\tvalid_0's rmse: 59508.8\tvalid_0's l2: 3.5413e+09\n",
      "[4]\tvalid_0's rmse: 55406.5\tvalid_0's l2: 3.06989e+09\n",
      "[5]\tvalid_0's rmse: 51830.8\tvalid_0's l2: 2.68643e+09\n",
      "[6]\tvalid_0's rmse: 48841.2\tvalid_0's l2: 2.38547e+09\n",
      "[7]\tvalid_0's rmse: 46354.3\tvalid_0's l2: 2.14872e+09\n",
      "[8]\tvalid_0's rmse: 43997\tvalid_0's l2: 1.93574e+09\n",
      "[9]\tvalid_0's rmse: 42070.9\tvalid_0's l2: 1.76996e+09\n",
      "[10]\tvalid_0's rmse: 40379.1\tvalid_0's l2: 1.63047e+09\n",
      "[11]\tvalid_0's rmse: 38968.7\tvalid_0's l2: 1.51856e+09\n",
      "[12]\tvalid_0's rmse: 37592.1\tvalid_0's l2: 1.41317e+09\n",
      "[13]\tvalid_0's rmse: 36499.2\tvalid_0's l2: 1.33219e+09\n",
      "[14]\tvalid_0's rmse: 35414.7\tvalid_0's l2: 1.2542e+09\n",
      "[15]\tvalid_0's rmse: 34435.7\tvalid_0's l2: 1.18581e+09\n",
      "[16]\tvalid_0's rmse: 33494.1\tvalid_0's l2: 1.12186e+09\n",
      "[17]\tvalid_0's rmse: 32725.2\tvalid_0's l2: 1.07094e+09\n",
      "[18]\tvalid_0's rmse: 31941.1\tvalid_0's l2: 1.02023e+09\n",
      "[19]\tvalid_0's rmse: 31370.1\tvalid_0's l2: 9.84081e+08\n",
      "[20]\tvalid_0's rmse: 30831.1\tvalid_0's l2: 9.50557e+08\n",
      "[21]\tvalid_0's rmse: 30451.9\tvalid_0's l2: 9.27318e+08\n",
      "[22]\tvalid_0's rmse: 30204.6\tvalid_0's l2: 9.1232e+08\n",
      "[23]\tvalid_0's rmse: 29946.4\tvalid_0's l2: 8.96789e+08\n",
      "[24]\tvalid_0's rmse: 29728.4\tvalid_0's l2: 8.83776e+08\n",
      "[25]\tvalid_0's rmse: 29527.1\tvalid_0's l2: 8.71848e+08\n",
      "[26]\tvalid_0's rmse: 29370.6\tvalid_0's l2: 8.62632e+08\n",
      "[27]\tvalid_0's rmse: 29197.1\tvalid_0's l2: 8.52469e+08\n",
      "[28]\tvalid_0's rmse: 28992.6\tvalid_0's l2: 8.40574e+08\n",
      "[29]\tvalid_0's rmse: 28895.2\tvalid_0's l2: 8.34934e+08\n",
      "[30]\tvalid_0's rmse: 28774.6\tvalid_0's l2: 8.2798e+08\n",
      "[31]\tvalid_0's rmse: 28717.5\tvalid_0's l2: 8.24697e+08\n",
      "[32]\tvalid_0's rmse: 28648.3\tvalid_0's l2: 8.20726e+08\n",
      "[33]\tvalid_0's rmse: 28628.5\tvalid_0's l2: 8.1959e+08\n",
      "[34]\tvalid_0's rmse: 28543.7\tvalid_0's l2: 8.14746e+08\n",
      "[35]\tvalid_0's rmse: 28537.7\tvalid_0's l2: 8.14399e+08\n",
      "[36]\tvalid_0's rmse: 28393.5\tvalid_0's l2: 8.06188e+08\n",
      "[37]\tvalid_0's rmse: 28312.8\tvalid_0's l2: 8.01613e+08\n",
      "[38]\tvalid_0's rmse: 28249.3\tvalid_0's l2: 7.98023e+08\n",
      "[39]\tvalid_0's rmse: 28201.3\tvalid_0's l2: 7.95312e+08\n",
      "[40]\tvalid_0's rmse: 28075\tvalid_0's l2: 7.88206e+08\n",
      "[41]\tvalid_0's rmse: 28055.9\tvalid_0's l2: 7.87134e+08\n",
      "[42]\tvalid_0's rmse: 28070.4\tvalid_0's l2: 7.87945e+08\n",
      "[43]\tvalid_0's rmse: 28074.2\tvalid_0's l2: 7.88161e+08\n",
      "[44]\tvalid_0's rmse: 28051.6\tvalid_0's l2: 7.86893e+08\n",
      "[45]\tvalid_0's rmse: 28018\tvalid_0's l2: 7.85006e+08\n",
      "[46]\tvalid_0's rmse: 27935.8\tvalid_0's l2: 7.80409e+08\n",
      "[47]\tvalid_0's rmse: 27912.7\tvalid_0's l2: 7.79119e+08\n",
      "[48]\tvalid_0's rmse: 27885.8\tvalid_0's l2: 7.7762e+08\n",
      "[49]\tvalid_0's rmse: 27922.7\tvalid_0's l2: 7.79675e+08\n",
      "[50]\tvalid_0's rmse: 27848.5\tvalid_0's l2: 7.75537e+08\n",
      "[51]\tvalid_0's rmse: 27843.6\tvalid_0's l2: 7.75268e+08\n",
      "[52]\tvalid_0's rmse: 27871.9\tvalid_0's l2: 7.76843e+08\n",
      "[53]\tvalid_0's rmse: 27850.2\tvalid_0's l2: 7.75631e+08\n",
      "[54]\tvalid_0's rmse: 27823\tvalid_0's l2: 7.74117e+08\n",
      "[55]\tvalid_0's rmse: 27811.5\tvalid_0's l2: 7.73482e+08\n",
      "[56]\tvalid_0's rmse: 27816.1\tvalid_0's l2: 7.73734e+08\n",
      "[57]\tvalid_0's rmse: 27797.1\tvalid_0's l2: 7.72678e+08\n",
      "[58]\tvalid_0's rmse: 27796.6\tvalid_0's l2: 7.7265e+08\n",
      "[59]\tvalid_0's rmse: 27702.7\tvalid_0's l2: 7.67439e+08\n",
      "[60]\tvalid_0's rmse: 27654.2\tvalid_0's l2: 7.64756e+08\n",
      "[61]\tvalid_0's rmse: 27651.6\tvalid_0's l2: 7.64609e+08\n",
      "[62]\tvalid_0's rmse: 27658.3\tvalid_0's l2: 7.64981e+08\n",
      "[63]\tvalid_0's rmse: 27686.1\tvalid_0's l2: 7.66519e+08\n",
      "[64]\tvalid_0's rmse: 27715.8\tvalid_0's l2: 7.68165e+08\n",
      "[65]\tvalid_0's rmse: 27615.9\tvalid_0's l2: 7.62636e+08\n",
      "[66]\tvalid_0's rmse: 27598.8\tvalid_0's l2: 7.61696e+08\n",
      "[67]\tvalid_0's rmse: 27609.7\tvalid_0's l2: 7.62293e+08\n",
      "[68]\tvalid_0's rmse: 27617.2\tvalid_0's l2: 7.62708e+08\n",
      "[69]\tvalid_0's rmse: 27604.8\tvalid_0's l2: 7.62027e+08\n",
      "[70]\tvalid_0's rmse: 27506.5\tvalid_0's l2: 7.56608e+08\n",
      "[71]\tvalid_0's rmse: 27536.5\tvalid_0's l2: 7.58259e+08\n",
      "[72]\tvalid_0's rmse: 27527.2\tvalid_0's l2: 7.57747e+08\n",
      "[73]\tvalid_0's rmse: 27511.2\tvalid_0's l2: 7.56866e+08\n",
      "[74]\tvalid_0's rmse: 27531.8\tvalid_0's l2: 7.57998e+08\n",
      "[75]\tvalid_0's rmse: 27522.6\tvalid_0's l2: 7.57496e+08\n",
      "[76]\tvalid_0's rmse: 27509.1\tvalid_0's l2: 7.56753e+08\n",
      "[77]\tvalid_0's rmse: 27526.6\tvalid_0's l2: 7.57715e+08\n",
      "[78]\tvalid_0's rmse: 27518.2\tvalid_0's l2: 7.57252e+08\n",
      "[79]\tvalid_0's rmse: 27515.6\tvalid_0's l2: 7.57107e+08\n",
      "[80]\tvalid_0's rmse: 27557.3\tvalid_0's l2: 7.59404e+08\n",
      "[81]\tvalid_0's rmse: 27503.5\tvalid_0's l2: 7.56442e+08\n",
      "[82]\tvalid_0's rmse: 27510.9\tvalid_0's l2: 7.5685e+08\n",
      "[83]\tvalid_0's rmse: 27445.3\tvalid_0's l2: 7.53243e+08\n",
      "[84]\tvalid_0's rmse: 27459.3\tvalid_0's l2: 7.54015e+08\n",
      "[85]\tvalid_0's rmse: 27461\tvalid_0's l2: 7.54104e+08\n",
      "[86]\tvalid_0's rmse: 27478.1\tvalid_0's l2: 7.55043e+08\n",
      "[87]\tvalid_0's rmse: 27461.3\tvalid_0's l2: 7.54124e+08\n",
      "[88]\tvalid_0's rmse: 27463.9\tvalid_0's l2: 7.54267e+08\n",
      "[89]\tvalid_0's rmse: 27446.7\tvalid_0's l2: 7.53321e+08\n",
      "[90]\tvalid_0's rmse: 27412.4\tvalid_0's l2: 7.5144e+08\n",
      "[91]\tvalid_0's rmse: 27432.6\tvalid_0's l2: 7.5255e+08\n",
      "[92]\tvalid_0's rmse: 27440\tvalid_0's l2: 7.52953e+08\n",
      "[93]\tvalid_0's rmse: 27446.7\tvalid_0's l2: 7.5332e+08\n",
      "[94]\tvalid_0's rmse: 27455.2\tvalid_0's l2: 7.53787e+08\n",
      "[95]\tvalid_0's rmse: 27481.4\tvalid_0's l2: 7.55227e+08\n",
      "[96]\tvalid_0's rmse: 27458\tvalid_0's l2: 7.53939e+08\n",
      "[97]\tvalid_0's rmse: 27447.8\tvalid_0's l2: 7.53384e+08\n",
      "[98]\tvalid_0's rmse: 27382.1\tvalid_0's l2: 7.49781e+08\n",
      "[99]\tvalid_0's rmse: 27344.4\tvalid_0's l2: 7.47714e+08\n",
      "[100]\tvalid_0's rmse: 27348.5\tvalid_0's l2: 7.4794e+08\n",
      "[1]\tvalid_0's rmse: 76947\tvalid_0's l2: 5.92084e+09\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2]\tvalid_0's rmse: 71321.6\tvalid_0's l2: 5.08677e+09\n",
      "[3]\tvalid_0's rmse: 66409.4\tvalid_0's l2: 4.41021e+09\n",
      "[4]\tvalid_0's rmse: 62185.5\tvalid_0's l2: 3.86704e+09\n",
      "[5]\tvalid_0's rmse: 58448.9\tvalid_0's l2: 3.41627e+09\n",
      "[6]\tvalid_0's rmse: 55351.9\tvalid_0's l2: 3.06384e+09\n",
      "[7]\tvalid_0's rmse: 52377.5\tvalid_0's l2: 2.7434e+09\n",
      "[8]\tvalid_0's rmse: 49706\tvalid_0's l2: 2.47069e+09\n",
      "[9]\tvalid_0's rmse: 47475.6\tvalid_0's l2: 2.25393e+09\n",
      "[10]\tvalid_0's rmse: 45730.6\tvalid_0's l2: 2.09129e+09\n",
      "[11]\tvalid_0's rmse: 43745.2\tvalid_0's l2: 1.91364e+09\n",
      "[12]\tvalid_0's rmse: 42148.2\tvalid_0's l2: 1.77647e+09\n",
      "[13]\tvalid_0's rmse: 40819.9\tvalid_0's l2: 1.66627e+09\n",
      "[14]\tvalid_0's rmse: 39589.3\tvalid_0's l2: 1.56731e+09\n",
      "[15]\tvalid_0's rmse: 38448.2\tvalid_0's l2: 1.47826e+09\n",
      "[16]\tvalid_0's rmse: 37492.9\tvalid_0's l2: 1.40572e+09\n",
      "[17]\tvalid_0's rmse: 36815.8\tvalid_0's l2: 1.3554e+09\n",
      "[18]\tvalid_0's rmse: 36027.9\tvalid_0's l2: 1.29801e+09\n",
      "[19]\tvalid_0's rmse: 35462.8\tvalid_0's l2: 1.25761e+09\n",
      "[20]\tvalid_0's rmse: 34853.1\tvalid_0's l2: 1.21474e+09\n",
      "[21]\tvalid_0's rmse: 34423.9\tvalid_0's l2: 1.185e+09\n",
      "[22]\tvalid_0's rmse: 33932\tvalid_0's l2: 1.15138e+09\n",
      "[23]\tvalid_0's rmse: 33562.5\tvalid_0's l2: 1.12644e+09\n",
      "[24]\tvalid_0's rmse: 33146\tvalid_0's l2: 1.09866e+09\n",
      "[25]\tvalid_0's rmse: 32844.3\tvalid_0's l2: 1.07874e+09\n",
      "[26]\tvalid_0's rmse: 32546.1\tvalid_0's l2: 1.05925e+09\n",
      "[27]\tvalid_0's rmse: 32289.7\tvalid_0's l2: 1.04263e+09\n",
      "[28]\tvalid_0's rmse: 32115.9\tvalid_0's l2: 1.03143e+09\n",
      "[29]\tvalid_0's rmse: 31945.1\tvalid_0's l2: 1.02049e+09\n",
      "[30]\tvalid_0's rmse: 31768.3\tvalid_0's l2: 1.00923e+09\n",
      "[31]\tvalid_0's rmse: 31639.6\tvalid_0's l2: 1.00106e+09\n",
      "[32]\tvalid_0's rmse: 31529.9\tvalid_0's l2: 9.94133e+08\n",
      "[33]\tvalid_0's rmse: 31429.3\tvalid_0's l2: 9.87802e+08\n",
      "[34]\tvalid_0's rmse: 31357.6\tvalid_0's l2: 9.83301e+08\n",
      "[35]\tvalid_0's rmse: 31265.9\tvalid_0's l2: 9.77556e+08\n",
      "[36]\tvalid_0's rmse: 31194.2\tvalid_0's l2: 9.73078e+08\n",
      "[37]\tvalid_0's rmse: 31126.2\tvalid_0's l2: 9.68841e+08\n",
      "[38]\tvalid_0's rmse: 31061.8\tvalid_0's l2: 9.64835e+08\n",
      "[39]\tvalid_0's rmse: 30958.6\tvalid_0's l2: 9.58436e+08\n",
      "[40]\tvalid_0's rmse: 30923.3\tvalid_0's l2: 9.56252e+08\n",
      "[41]\tvalid_0's rmse: 30904.6\tvalid_0's l2: 9.55092e+08\n",
      "[42]\tvalid_0's rmse: 30794.3\tvalid_0's l2: 9.48288e+08\n",
      "[43]\tvalid_0's rmse: 30677.8\tvalid_0's l2: 9.41128e+08\n",
      "[44]\tvalid_0's rmse: 30657.7\tvalid_0's l2: 9.39892e+08\n",
      "[45]\tvalid_0's rmse: 30571.6\tvalid_0's l2: 9.34625e+08\n",
      "[46]\tvalid_0's rmse: 30568.3\tvalid_0's l2: 9.34423e+08\n",
      "[47]\tvalid_0's rmse: 30571.7\tvalid_0's l2: 9.34631e+08\n",
      "[48]\tvalid_0's rmse: 30471.8\tvalid_0's l2: 9.28533e+08\n",
      "[49]\tvalid_0's rmse: 30448.9\tvalid_0's l2: 9.27134e+08\n",
      "[50]\tvalid_0's rmse: 30416.4\tvalid_0's l2: 9.25158e+08\n",
      "[51]\tvalid_0's rmse: 30441.4\tvalid_0's l2: 9.26681e+08\n",
      "[52]\tvalid_0's rmse: 30435.1\tvalid_0's l2: 9.26296e+08\n",
      "[53]\tvalid_0's rmse: 30431.8\tvalid_0's l2: 9.26095e+08\n",
      "[54]\tvalid_0's rmse: 30287.8\tvalid_0's l2: 9.17348e+08\n",
      "[55]\tvalid_0's rmse: 30299\tvalid_0's l2: 9.18031e+08\n",
      "[56]\tvalid_0's rmse: 30236.4\tvalid_0's l2: 9.14243e+08\n",
      "[57]\tvalid_0's rmse: 30263.6\tvalid_0's l2: 9.15886e+08\n",
      "[58]\tvalid_0's rmse: 30245.4\tvalid_0's l2: 9.14785e+08\n",
      "[59]\tvalid_0's rmse: 30218.3\tvalid_0's l2: 9.13148e+08\n",
      "[60]\tvalid_0's rmse: 30195.4\tvalid_0's l2: 9.11759e+08\n",
      "[61]\tvalid_0's rmse: 30212.7\tvalid_0's l2: 9.1281e+08\n",
      "[62]\tvalid_0's rmse: 30142.7\tvalid_0's l2: 9.08584e+08\n",
      "[63]\tvalid_0's rmse: 30211.6\tvalid_0's l2: 9.12739e+08\n",
      "[64]\tvalid_0's rmse: 30213.6\tvalid_0's l2: 9.12861e+08\n",
      "[65]\tvalid_0's rmse: 30125.1\tvalid_0's l2: 9.0752e+08\n",
      "[66]\tvalid_0's rmse: 30143.3\tvalid_0's l2: 9.08617e+08\n",
      "[67]\tvalid_0's rmse: 30145.1\tvalid_0's l2: 9.08729e+08\n",
      "[68]\tvalid_0's rmse: 30099.2\tvalid_0's l2: 9.05963e+08\n",
      "[69]\tvalid_0's rmse: 30091\tvalid_0's l2: 9.05471e+08\n",
      "[70]\tvalid_0's rmse: 30030.7\tvalid_0's l2: 9.01844e+08\n",
      "[71]\tvalid_0's rmse: 30048.7\tvalid_0's l2: 9.02927e+08\n",
      "[72]\tvalid_0's rmse: 30016.3\tvalid_0's l2: 9.00977e+08\n",
      "[73]\tvalid_0's rmse: 30036.6\tvalid_0's l2: 9.02198e+08\n",
      "[74]\tvalid_0's rmse: 30027.5\tvalid_0's l2: 9.0165e+08\n",
      "[75]\tvalid_0's rmse: 29928.5\tvalid_0's l2: 8.95713e+08\n",
      "[76]\tvalid_0's rmse: 29998\tvalid_0's l2: 8.99879e+08\n",
      "[77]\tvalid_0's rmse: 30012.8\tvalid_0's l2: 9.00765e+08\n",
      "[78]\tvalid_0's rmse: 29993.5\tvalid_0's l2: 8.99613e+08\n",
      "[79]\tvalid_0's rmse: 29939.6\tvalid_0's l2: 8.9638e+08\n",
      "[80]\tvalid_0's rmse: 29954.3\tvalid_0's l2: 8.97261e+08\n",
      "[81]\tvalid_0's rmse: 29968.2\tvalid_0's l2: 8.98093e+08\n",
      "[82]\tvalid_0's rmse: 29958.2\tvalid_0's l2: 8.97492e+08\n",
      "[83]\tvalid_0's rmse: 30003.8\tvalid_0's l2: 9.0023e+08\n",
      "[84]\tvalid_0's rmse: 30013.8\tvalid_0's l2: 9.00831e+08\n",
      "[85]\tvalid_0's rmse: 30004.3\tvalid_0's l2: 9.00256e+08\n",
      "[86]\tvalid_0's rmse: 29989.5\tvalid_0's l2: 8.99369e+08\n",
      "[87]\tvalid_0's rmse: 30000.1\tvalid_0's l2: 9.00008e+08\n",
      "[88]\tvalid_0's rmse: 30004.8\tvalid_0's l2: 9.00286e+08\n",
      "[89]\tvalid_0's rmse: 30015.2\tvalid_0's l2: 9.00911e+08\n",
      "[90]\tvalid_0's rmse: 30017.3\tvalid_0's l2: 9.01038e+08\n",
      "[91]\tvalid_0's rmse: 29974.7\tvalid_0's l2: 8.98482e+08\n",
      "[92]\tvalid_0's rmse: 29937\tvalid_0's l2: 8.96221e+08\n",
      "[93]\tvalid_0's rmse: 29888.1\tvalid_0's l2: 8.93299e+08\n",
      "[94]\tvalid_0's rmse: 29865.2\tvalid_0's l2: 8.91932e+08\n",
      "[95]\tvalid_0's rmse: 29870.4\tvalid_0's l2: 8.92239e+08\n",
      "[96]\tvalid_0's rmse: 29878.2\tvalid_0's l2: 8.92706e+08\n",
      "[97]\tvalid_0's rmse: 29924.8\tvalid_0's l2: 8.95496e+08\n",
      "[98]\tvalid_0's rmse: 29916.3\tvalid_0's l2: 8.94987e+08\n",
      "[99]\tvalid_0's rmse: 29913\tvalid_0's l2: 8.94785e+08\n",
      "[100]\tvalid_0's rmse: 29893\tvalid_0's l2: 8.9359e+08\n",
      "[1]\tvalid_0's rmse: 79343\tvalid_0's l2: 6.29531e+09\n",
      "[2]\tvalid_0's rmse: 73938.1\tvalid_0's l2: 5.46685e+09\n",
      "[3]\tvalid_0's rmse: 69116.1\tvalid_0's l2: 4.77704e+09\n",
      "[4]\tvalid_0's rmse: 64821.1\tvalid_0's l2: 4.20177e+09\n",
      "[5]\tvalid_0's rmse: 61006.3\tvalid_0's l2: 3.72176e+09\n",
      "[6]\tvalid_0's rmse: 57551.5\tvalid_0's l2: 3.31217e+09\n",
      "[7]\tvalid_0's rmse: 54750.7\tvalid_0's l2: 2.99764e+09\n",
      "[8]\tvalid_0's rmse: 51963.7\tvalid_0's l2: 2.70022e+09\n",
      "[9]\tvalid_0's rmse: 49648.5\tvalid_0's l2: 2.46498e+09\n",
      "[10]\tvalid_0's rmse: 47558.3\tvalid_0's l2: 2.2618e+09\n",
      "[11]\tvalid_0's rmse: 45618\tvalid_0's l2: 2.081e+09\n",
      "[12]\tvalid_0's rmse: 44012.8\tvalid_0's l2: 1.93713e+09\n",
      "[13]\tvalid_0's rmse: 42596.4\tvalid_0's l2: 1.81445e+09\n",
      "[14]\tvalid_0's rmse: 41229.4\tvalid_0's l2: 1.69986e+09\n",
      "[15]\tvalid_0's rmse: 40233.3\tvalid_0's l2: 1.61872e+09\n",
      "[16]\tvalid_0's rmse: 39156.7\tvalid_0's l2: 1.53325e+09\n",
      "[17]\tvalid_0's rmse: 38156\tvalid_0's l2: 1.45588e+09\n",
      "[18]\tvalid_0's rmse: 37366.9\tvalid_0's l2: 1.39629e+09\n",
      "[19]\tvalid_0's rmse: 36638.7\tvalid_0's l2: 1.3424e+09\n",
      "[20]\tvalid_0's rmse: 36015.1\tvalid_0's l2: 1.29709e+09\n",
      "[21]\tvalid_0's rmse: 35374.6\tvalid_0's l2: 1.25136e+09\n",
      "[22]\tvalid_0's rmse: 34760.2\tvalid_0's l2: 1.20827e+09\n",
      "[23]\tvalid_0's rmse: 34325.2\tvalid_0's l2: 1.17822e+09\n",
      "[24]\tvalid_0's rmse: 33910\tvalid_0's l2: 1.14989e+09\n",
      "[25]\tvalid_0's rmse: 33591.6\tvalid_0's l2: 1.1284e+09\n",
      "[26]\tvalid_0's rmse: 33151.7\tvalid_0's l2: 1.09903e+09\n",
      "[27]\tvalid_0's rmse: 32819.5\tvalid_0's l2: 1.07712e+09\n",
      "[28]\tvalid_0's rmse: 32549.9\tvalid_0's l2: 1.0595e+09\n",
      "[29]\tvalid_0's rmse: 32300.3\tvalid_0's l2: 1.04331e+09\n",
      "[30]\tvalid_0's rmse: 32143.7\tvalid_0's l2: 1.03322e+09\n",
      "[31]\tvalid_0's rmse: 31943.6\tvalid_0's l2: 1.02039e+09\n",
      "[32]\tvalid_0's rmse: 31783.7\tvalid_0's l2: 1.0102e+09\n",
      "[33]\tvalid_0's rmse: 31689.4\tvalid_0's l2: 1.00422e+09\n",
      "[34]\tvalid_0's rmse: 31538.5\tvalid_0's l2: 9.94675e+08\n",
      "[35]\tvalid_0's rmse: 31367.3\tvalid_0's l2: 9.83905e+08\n",
      "[36]\tvalid_0's rmse: 31281.1\tvalid_0's l2: 9.78506e+08\n",
      "[37]\tvalid_0's rmse: 31154.1\tvalid_0's l2: 9.70578e+08\n",
      "[38]\tvalid_0's rmse: 31028.7\tvalid_0's l2: 9.62781e+08\n",
      "[39]\tvalid_0's rmse: 30859.4\tvalid_0's l2: 9.52305e+08\n",
      "[40]\tvalid_0's rmse: 30722.2\tvalid_0's l2: 9.43851e+08\n",
      "[41]\tvalid_0's rmse: 30614.7\tvalid_0's l2: 9.37262e+08\n",
      "[42]\tvalid_0's rmse: 30518.6\tvalid_0's l2: 9.31387e+08\n",
      "[43]\tvalid_0's rmse: 30441.9\tvalid_0's l2: 9.26709e+08\n",
      "[44]\tvalid_0's rmse: 30381.3\tvalid_0's l2: 9.23024e+08\n",
      "[45]\tvalid_0's rmse: 30376\tvalid_0's l2: 9.22703e+08\n",
      "[46]\tvalid_0's rmse: 30282.8\tvalid_0's l2: 9.1705e+08\n",
      "[47]\tvalid_0's rmse: 30193.2\tvalid_0's l2: 9.11629e+08\n",
      "[48]\tvalid_0's rmse: 30177.7\tvalid_0's l2: 9.10696e+08\n",
      "[49]\tvalid_0's rmse: 30147.9\tvalid_0's l2: 9.08898e+08\n",
      "[50]\tvalid_0's rmse: 30118.2\tvalid_0's l2: 9.07108e+08\n",
      "[51]\tvalid_0's rmse: 30131.8\tvalid_0's l2: 9.07927e+08\n",
      "[52]\tvalid_0's rmse: 30060\tvalid_0's l2: 9.03605e+08\n",
      "[53]\tvalid_0's rmse: 30048.6\tvalid_0's l2: 9.02917e+08\n",
      "[54]\tvalid_0's rmse: 30020.8\tvalid_0's l2: 9.0125e+08\n",
      "[55]\tvalid_0's rmse: 30034.3\tvalid_0's l2: 9.02056e+08\n",
      "[56]\tvalid_0's rmse: 30024.8\tvalid_0's l2: 9.01486e+08\n",
      "[57]\tvalid_0's rmse: 29968.1\tvalid_0's l2: 8.98086e+08\n",
      "[58]\tvalid_0's rmse: 30000.6\tvalid_0's l2: 9.00038e+08\n",
      "[59]\tvalid_0's rmse: 30019.3\tvalid_0's l2: 9.01161e+08\n",
      "[60]\tvalid_0's rmse: 30000.8\tvalid_0's l2: 9.00047e+08\n",
      "[61]\tvalid_0's rmse: 30050.5\tvalid_0's l2: 9.03034e+08\n",
      "[62]\tvalid_0's rmse: 30003.9\tvalid_0's l2: 9.00234e+08\n",
      "[63]\tvalid_0's rmse: 29984.6\tvalid_0's l2: 8.99079e+08\n",
      "[64]\tvalid_0's rmse: 30049\tvalid_0's l2: 9.02944e+08\n",
      "[65]\tvalid_0's rmse: 30062.6\tvalid_0's l2: 9.03758e+08\n",
      "[66]\tvalid_0's rmse: 30078.7\tvalid_0's l2: 9.04728e+08\n",
      "[67]\tvalid_0's rmse: 30045.4\tvalid_0's l2: 9.02728e+08\n",
      "[68]\tvalid_0's rmse: 30091.6\tvalid_0's l2: 9.05505e+08\n",
      "[69]\tvalid_0's rmse: 30101.4\tvalid_0's l2: 9.06095e+08\n",
      "[70]\tvalid_0's rmse: 30046.2\tvalid_0's l2: 9.02773e+08\n",
      "[71]\tvalid_0's rmse: 30069.7\tvalid_0's l2: 9.04184e+08\n",
      "[72]\tvalid_0's rmse: 30018.4\tvalid_0's l2: 9.01102e+08\n",
      "[73]\tvalid_0's rmse: 30046.1\tvalid_0's l2: 9.02768e+08\n",
      "[74]\tvalid_0's rmse: 30012.6\tvalid_0's l2: 9.00758e+08\n",
      "[75]\tvalid_0's rmse: 30054.9\tvalid_0's l2: 9.03299e+08\n",
      "[76]\tvalid_0's rmse: 30014.6\tvalid_0's l2: 9.00875e+08\n",
      "[77]\tvalid_0's rmse: 30080.3\tvalid_0's l2: 9.04827e+08\n",
      "[78]\tvalid_0's rmse: 30124.8\tvalid_0's l2: 9.07502e+08\n",
      "[79]\tvalid_0's rmse: 30157.4\tvalid_0's l2: 9.09471e+08\n",
      "[80]\tvalid_0's rmse: 30175.2\tvalid_0's l2: 9.10541e+08\n",
      "[81]\tvalid_0's rmse: 30152.8\tvalid_0's l2: 9.09193e+08\n",
      "[82]\tvalid_0's rmse: 30200.7\tvalid_0's l2: 9.12084e+08\n",
      "[83]\tvalid_0's rmse: 30223.5\tvalid_0's l2: 9.13459e+08\n",
      "[84]\tvalid_0's rmse: 30186.5\tvalid_0's l2: 9.11223e+08\n",
      "[85]\tvalid_0's rmse: 30225.8\tvalid_0's l2: 9.13596e+08\n",
      "[86]\tvalid_0's rmse: 30265\tvalid_0's l2: 9.15968e+08\n",
      "[87]\tvalid_0's rmse: 30241.7\tvalid_0's l2: 9.14562e+08\n",
      "[88]\tvalid_0's rmse: 30274.3\tvalid_0's l2: 9.16533e+08\n",
      "[89]\tvalid_0's rmse: 30233.5\tvalid_0's l2: 9.14066e+08\n",
      "[90]\tvalid_0's rmse: 30268.1\tvalid_0's l2: 9.16158e+08\n",
      "[91]\tvalid_0's rmse: 30241.7\tvalid_0's l2: 9.1456e+08\n",
      "[92]\tvalid_0's rmse: 30262.5\tvalid_0's l2: 9.15819e+08\n",
      "[93]\tvalid_0's rmse: 30282\tvalid_0's l2: 9.16999e+08\n",
      "[94]\tvalid_0's rmse: 30320.3\tvalid_0's l2: 9.1932e+08\n",
      "[95]\tvalid_0's rmse: 30308.7\tvalid_0's l2: 9.1862e+08\n",
      "[96]\tvalid_0's rmse: 30341\tvalid_0's l2: 9.20576e+08\n",
      "[97]\tvalid_0's rmse: 30315.6\tvalid_0's l2: 9.19036e+08\n",
      "[98]\tvalid_0's rmse: 30337.1\tvalid_0's l2: 9.2034e+08\n",
      "[99]\tvalid_0's rmse: 30347.9\tvalid_0's l2: 9.20993e+08\n",
      "[100]\tvalid_0's rmse: 30325.1\tvalid_0's l2: 9.19611e+08\n",
      "[1]\tvalid_0's rmse: 66116.6\tvalid_0's l2: 4.3714e+09\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2]\tvalid_0's rmse: 60554.5\tvalid_0's l2: 3.66685e+09\n",
      "[3]\tvalid_0's rmse: 55555.6\tvalid_0's l2: 3.08643e+09\n",
      "[4]\tvalid_0's rmse: 51222.8\tvalid_0's l2: 2.62378e+09\n",
      "[5]\tvalid_0's rmse: 47296.9\tvalid_0's l2: 2.23699e+09\n",
      "[6]\tvalid_0's rmse: 44135.2\tvalid_0's l2: 1.94792e+09\n",
      "[7]\tvalid_0's rmse: 41278.9\tvalid_0's l2: 1.70395e+09\n",
      "[8]\tvalid_0's rmse: 38908.1\tvalid_0's l2: 1.51384e+09\n",
      "[9]\tvalid_0's rmse: 36837.1\tvalid_0's l2: 1.35697e+09\n",
      "[10]\tvalid_0's rmse: 34955.5\tvalid_0's l2: 1.22189e+09\n",
      "[11]\tvalid_0's rmse: 33603\tvalid_0's l2: 1.12916e+09\n",
      "[12]\tvalid_0's rmse: 32422.4\tvalid_0's l2: 1.05121e+09\n",
      "[13]\tvalid_0's rmse: 31316.3\tvalid_0's l2: 9.80708e+08\n",
      "[14]\tvalid_0's rmse: 30597.6\tvalid_0's l2: 9.3621e+08\n",
      "[15]\tvalid_0's rmse: 29960.1\tvalid_0's l2: 8.97609e+08\n",
      "[16]\tvalid_0's rmse: 29528.7\tvalid_0's l2: 8.71945e+08\n",
      "[17]\tvalid_0's rmse: 29254.8\tvalid_0's l2: 8.55846e+08\n",
      "[18]\tvalid_0's rmse: 29019\tvalid_0's l2: 8.42105e+08\n",
      "[19]\tvalid_0's rmse: 28747.2\tvalid_0's l2: 8.264e+08\n",
      "[20]\tvalid_0's rmse: 28375.9\tvalid_0's l2: 8.05193e+08\n",
      "[21]\tvalid_0's rmse: 28325.2\tvalid_0's l2: 8.02318e+08\n",
      "[22]\tvalid_0's rmse: 28262.2\tvalid_0's l2: 7.98751e+08\n",
      "[23]\tvalid_0's rmse: 28304\tvalid_0's l2: 8.01115e+08\n",
      "[24]\tvalid_0's rmse: 28369.9\tvalid_0's l2: 8.04849e+08\n",
      "[25]\tvalid_0's rmse: 28337\tvalid_0's l2: 8.02987e+08\n",
      "[26]\tvalid_0's rmse: 28303.3\tvalid_0's l2: 8.01078e+08\n",
      "[27]\tvalid_0's rmse: 28308.5\tvalid_0's l2: 8.0137e+08\n",
      "[28]\tvalid_0's rmse: 28415\tvalid_0's l2: 8.07413e+08\n",
      "[29]\tvalid_0's rmse: 28511.4\tvalid_0's l2: 8.12899e+08\n",
      "[30]\tvalid_0's rmse: 28547.3\tvalid_0's l2: 8.14947e+08\n",
      "[31]\tvalid_0's rmse: 28526.9\tvalid_0's l2: 8.13786e+08\n",
      "[32]\tvalid_0's rmse: 28550.8\tvalid_0's l2: 8.15146e+08\n",
      "[33]\tvalid_0's rmse: 28615\tvalid_0's l2: 8.18821e+08\n",
      "[34]\tvalid_0's rmse: 28706.9\tvalid_0's l2: 8.24088e+08\n",
      "[35]\tvalid_0's rmse: 28782.2\tvalid_0's l2: 8.28413e+08\n",
      "[36]\tvalid_0's rmse: 28860.6\tvalid_0's l2: 8.32933e+08\n",
      "[37]\tvalid_0's rmse: 28809.6\tvalid_0's l2: 8.29991e+08\n",
      "[38]\tvalid_0's rmse: 28853.3\tvalid_0's l2: 8.32511e+08\n",
      "[39]\tvalid_0's rmse: 28930\tvalid_0's l2: 8.36945e+08\n",
      "[40]\tvalid_0's rmse: 28959.1\tvalid_0's l2: 8.38628e+08\n",
      "[41]\tvalid_0's rmse: 29065.4\tvalid_0's l2: 8.44799e+08\n",
      "[42]\tvalid_0's rmse: 28964.5\tvalid_0's l2: 8.38944e+08\n",
      "[43]\tvalid_0's rmse: 28983.9\tvalid_0's l2: 8.40067e+08\n",
      "[44]\tvalid_0's rmse: 29102.8\tvalid_0's l2: 8.46972e+08\n",
      "[45]\tvalid_0's rmse: 29169\tvalid_0's l2: 8.50832e+08\n",
      "[46]\tvalid_0's rmse: 29166.6\tvalid_0's l2: 8.50689e+08\n",
      "[47]\tvalid_0's rmse: 29252\tvalid_0's l2: 8.55678e+08\n",
      "[48]\tvalid_0's rmse: 29316\tvalid_0's l2: 8.59427e+08\n",
      "[49]\tvalid_0's rmse: 29358.3\tvalid_0's l2: 8.61909e+08\n",
      "[50]\tvalid_0's rmse: 29464.7\tvalid_0's l2: 8.6817e+08\n",
      "[51]\tvalid_0's rmse: 29521.8\tvalid_0's l2: 8.71537e+08\n",
      "[52]\tvalid_0's rmse: 29511.5\tvalid_0's l2: 8.7093e+08\n",
      "[53]\tvalid_0's rmse: 29511.2\tvalid_0's l2: 8.70911e+08\n",
      "[54]\tvalid_0's rmse: 29611.4\tvalid_0's l2: 8.76836e+08\n",
      "[55]\tvalid_0's rmse: 29720.9\tvalid_0's l2: 8.83329e+08\n",
      "[56]\tvalid_0's rmse: 29742.1\tvalid_0's l2: 8.84594e+08\n",
      "[57]\tvalid_0's rmse: 29723.6\tvalid_0's l2: 8.83489e+08\n",
      "[58]\tvalid_0's rmse: 29716.2\tvalid_0's l2: 8.83054e+08\n",
      "[59]\tvalid_0's rmse: 29756\tvalid_0's l2: 8.85422e+08\n",
      "[60]\tvalid_0's rmse: 29761.7\tvalid_0's l2: 8.85761e+08\n",
      "[61]\tvalid_0's rmse: 29871.7\tvalid_0's l2: 8.9232e+08\n",
      "[62]\tvalid_0's rmse: 29883.2\tvalid_0's l2: 8.93006e+08\n",
      "[63]\tvalid_0's rmse: 29904\tvalid_0's l2: 8.94249e+08\n",
      "[64]\tvalid_0's rmse: 30003.7\tvalid_0's l2: 9.00221e+08\n",
      "[65]\tvalid_0's rmse: 30020.1\tvalid_0's l2: 9.01208e+08\n",
      "[66]\tvalid_0's rmse: 29972.2\tvalid_0's l2: 8.98335e+08\n",
      "[67]\tvalid_0's rmse: 29999.7\tvalid_0's l2: 8.99981e+08\n",
      "[68]\tvalid_0's rmse: 30105.9\tvalid_0's l2: 9.06366e+08\n",
      "[69]\tvalid_0's rmse: 30112.6\tvalid_0's l2: 9.06766e+08\n",
      "[70]\tvalid_0's rmse: 30177.4\tvalid_0's l2: 9.10677e+08\n",
      "[71]\tvalid_0's rmse: 30218.5\tvalid_0's l2: 9.13156e+08\n",
      "[72]\tvalid_0's rmse: 30170.8\tvalid_0's l2: 9.10276e+08\n",
      "[73]\tvalid_0's rmse: 30197.4\tvalid_0's l2: 9.1188e+08\n",
      "[74]\tvalid_0's rmse: 30244.7\tvalid_0's l2: 9.14743e+08\n",
      "[75]\tvalid_0's rmse: 30264.7\tvalid_0's l2: 9.15954e+08\n",
      "[76]\tvalid_0's rmse: 30280\tvalid_0's l2: 9.16878e+08\n",
      "[77]\tvalid_0's rmse: 30344.8\tvalid_0's l2: 9.20805e+08\n",
      "[78]\tvalid_0's rmse: 30370.8\tvalid_0's l2: 9.22388e+08\n",
      "[79]\tvalid_0's rmse: 30477.1\tvalid_0's l2: 9.28856e+08\n",
      "[80]\tvalid_0's rmse: 30476.7\tvalid_0's l2: 9.28832e+08\n",
      "[81]\tvalid_0's rmse: 30459\tvalid_0's l2: 9.27748e+08\n",
      "[82]\tvalid_0's rmse: 30491.5\tvalid_0's l2: 9.29732e+08\n",
      "[83]\tvalid_0's rmse: 30557.9\tvalid_0's l2: 9.33783e+08\n",
      "[84]\tvalid_0's rmse: 30553.6\tvalid_0's l2: 9.3352e+08\n",
      "[85]\tvalid_0's rmse: 30626.2\tvalid_0's l2: 9.37964e+08\n",
      "[86]\tvalid_0's rmse: 30632.9\tvalid_0's l2: 9.38376e+08\n",
      "[87]\tvalid_0's rmse: 30721\tvalid_0's l2: 9.43777e+08\n",
      "[88]\tvalid_0's rmse: 30723.8\tvalid_0's l2: 9.43955e+08\n",
      "[89]\tvalid_0's rmse: 30712.7\tvalid_0's l2: 9.4327e+08\n",
      "[90]\tvalid_0's rmse: 30721.6\tvalid_0's l2: 9.43814e+08\n",
      "[91]\tvalid_0's rmse: 30792.9\tvalid_0's l2: 9.48203e+08\n",
      "[92]\tvalid_0's rmse: 30868.6\tvalid_0's l2: 9.52871e+08\n",
      "[93]\tvalid_0's rmse: 30870.9\tvalid_0's l2: 9.53013e+08\n",
      "[94]\tvalid_0's rmse: 30898.3\tvalid_0's l2: 9.54705e+08\n",
      "[95]\tvalid_0's rmse: 30874.3\tvalid_0's l2: 9.53224e+08\n",
      "[96]\tvalid_0's rmse: 30875.9\tvalid_0's l2: 9.53324e+08\n",
      "[97]\tvalid_0's rmse: 30903.2\tvalid_0's l2: 9.55009e+08\n",
      "[98]\tvalid_0's rmse: 30917.8\tvalid_0's l2: 9.5591e+08\n",
      "[99]\tvalid_0's rmse: 30896.7\tvalid_0's l2: 9.54608e+08\n",
      "[100]\tvalid_0's rmse: 30900.7\tvalid_0's l2: 9.54852e+08\n",
      "[1]\tvalid_0's rmse: 78054.1\tvalid_0's l2: 6.09244e+09\n",
      "[2]\tvalid_0's rmse: 72774.1\tvalid_0's l2: 5.29607e+09\n",
      "[3]\tvalid_0's rmse: 67853.3\tvalid_0's l2: 4.60407e+09\n",
      "[4]\tvalid_0's rmse: 63666.3\tvalid_0's l2: 4.0534e+09\n",
      "[5]\tvalid_0's rmse: 59607.5\tvalid_0's l2: 3.55306e+09\n",
      "[6]\tvalid_0's rmse: 56430.7\tvalid_0's l2: 3.18442e+09\n",
      "[7]\tvalid_0's rmse: 53411.6\tvalid_0's l2: 2.8528e+09\n",
      "[8]\tvalid_0's rmse: 50712.2\tvalid_0's l2: 2.57172e+09\n",
      "[9]\tvalid_0's rmse: 48435.2\tvalid_0's l2: 2.34597e+09\n",
      "[10]\tvalid_0's rmse: 46339.4\tvalid_0's l2: 2.14734e+09\n",
      "[11]\tvalid_0's rmse: 44338.8\tvalid_0's l2: 1.96593e+09\n",
      "[12]\tvalid_0's rmse: 42608\tvalid_0's l2: 1.81544e+09\n",
      "[13]\tvalid_0's rmse: 41144.4\tvalid_0's l2: 1.69286e+09\n",
      "[14]\tvalid_0's rmse: 39938.6\tvalid_0's l2: 1.59509e+09\n",
      "[15]\tvalid_0's rmse: 38891.6\tvalid_0's l2: 1.51256e+09\n",
      "[16]\tvalid_0's rmse: 37841.2\tvalid_0's l2: 1.43196e+09\n",
      "[17]\tvalid_0's rmse: 37030.9\tvalid_0's l2: 1.37129e+09\n",
      "[18]\tvalid_0's rmse: 36259.5\tvalid_0's l2: 1.31475e+09\n",
      "[19]\tvalid_0's rmse: 35577.6\tvalid_0's l2: 1.26576e+09\n",
      "[20]\tvalid_0's rmse: 35029.5\tvalid_0's l2: 1.22706e+09\n",
      "[21]\tvalid_0's rmse: 34716.9\tvalid_0's l2: 1.20526e+09\n",
      "[22]\tvalid_0's rmse: 34265.7\tvalid_0's l2: 1.17414e+09\n",
      "[23]\tvalid_0's rmse: 33991.6\tvalid_0's l2: 1.15543e+09\n",
      "[24]\tvalid_0's rmse: 33523.3\tvalid_0's l2: 1.12381e+09\n",
      "[25]\tvalid_0's rmse: 33146.8\tvalid_0's l2: 1.09871e+09\n",
      "[26]\tvalid_0's rmse: 32811\tvalid_0's l2: 1.07656e+09\n",
      "[27]\tvalid_0's rmse: 32554.5\tvalid_0's l2: 1.0598e+09\n",
      "[28]\tvalid_0's rmse: 32289.4\tvalid_0's l2: 1.04261e+09\n",
      "[29]\tvalid_0's rmse: 32314.9\tvalid_0's l2: 1.04425e+09\n",
      "[30]\tvalid_0's rmse: 32124.4\tvalid_0's l2: 1.03198e+09\n",
      "[31]\tvalid_0's rmse: 31900.8\tvalid_0's l2: 1.01766e+09\n",
      "[32]\tvalid_0's rmse: 31722\tvalid_0's l2: 1.00628e+09\n",
      "[33]\tvalid_0's rmse: 31576.6\tvalid_0's l2: 9.97082e+08\n",
      "[34]\tvalid_0's rmse: 31405.8\tvalid_0's l2: 9.86323e+08\n",
      "[35]\tvalid_0's rmse: 31393.6\tvalid_0's l2: 9.85561e+08\n",
      "[36]\tvalid_0's rmse: 31258.9\tvalid_0's l2: 9.7712e+08\n",
      "[37]\tvalid_0's rmse: 31229.9\tvalid_0's l2: 9.75308e+08\n",
      "[38]\tvalid_0's rmse: 31145.7\tvalid_0's l2: 9.70055e+08\n",
      "[39]\tvalid_0's rmse: 31100.1\tvalid_0's l2: 9.67216e+08\n",
      "[40]\tvalid_0's rmse: 31034\tvalid_0's l2: 9.63107e+08\n",
      "[41]\tvalid_0's rmse: 30998.5\tvalid_0's l2: 9.60904e+08\n",
      "[42]\tvalid_0's rmse: 30957\tvalid_0's l2: 9.58335e+08\n",
      "[43]\tvalid_0's rmse: 31076.1\tvalid_0's l2: 9.65723e+08\n",
      "[44]\tvalid_0's rmse: 31051\tvalid_0's l2: 9.64164e+08\n",
      "[45]\tvalid_0's rmse: 31034.6\tvalid_0's l2: 9.63145e+08\n",
      "[46]\tvalid_0's rmse: 31009.8\tvalid_0's l2: 9.61605e+08\n",
      "[47]\tvalid_0's rmse: 30939.1\tvalid_0's l2: 9.57228e+08\n",
      "[48]\tvalid_0's rmse: 30924.8\tvalid_0's l2: 9.56346e+08\n",
      "[49]\tvalid_0's rmse: 30870.5\tvalid_0's l2: 9.52986e+08\n",
      "[50]\tvalid_0's rmse: 30821.3\tvalid_0's l2: 9.49953e+08\n",
      "[51]\tvalid_0's rmse: 30800.5\tvalid_0's l2: 9.48672e+08\n",
      "[52]\tvalid_0's rmse: 30820\tvalid_0's l2: 9.49871e+08\n",
      "[53]\tvalid_0's rmse: 30725.6\tvalid_0's l2: 9.44063e+08\n",
      "[54]\tvalid_0's rmse: 30773.6\tvalid_0's l2: 9.47017e+08\n",
      "[55]\tvalid_0's rmse: 30832.3\tvalid_0's l2: 9.50633e+08\n",
      "[56]\tvalid_0's rmse: 30862.7\tvalid_0's l2: 9.52506e+08\n",
      "[57]\tvalid_0's rmse: 30856.9\tvalid_0's l2: 9.52149e+08\n",
      "[58]\tvalid_0's rmse: 30867.5\tvalid_0's l2: 9.52804e+08\n",
      "[59]\tvalid_0's rmse: 30855\tvalid_0's l2: 9.52032e+08\n",
      "[60]\tvalid_0's rmse: 30873.4\tvalid_0's l2: 9.53164e+08\n",
      "[61]\tvalid_0's rmse: 30845.7\tvalid_0's l2: 9.51457e+08\n",
      "[62]\tvalid_0's rmse: 30863.7\tvalid_0's l2: 9.5257e+08\n",
      "[63]\tvalid_0's rmse: 30884.7\tvalid_0's l2: 9.53866e+08\n",
      "[64]\tvalid_0's rmse: 30893.2\tvalid_0's l2: 9.5439e+08\n",
      "[65]\tvalid_0's rmse: 30891.8\tvalid_0's l2: 9.54305e+08\n",
      "[66]\tvalid_0's rmse: 30899.1\tvalid_0's l2: 9.54754e+08\n",
      "[67]\tvalid_0's rmse: 30837.7\tvalid_0's l2: 9.50961e+08\n",
      "[68]\tvalid_0's rmse: 30862.5\tvalid_0's l2: 9.52496e+08\n",
      "[69]\tvalid_0's rmse: 30852.6\tvalid_0's l2: 9.51885e+08\n",
      "[70]\tvalid_0's rmse: 30908.9\tvalid_0's l2: 9.55358e+08\n",
      "[71]\tvalid_0's rmse: 30860.4\tvalid_0's l2: 9.52366e+08\n",
      "[72]\tvalid_0's rmse: 30899.4\tvalid_0's l2: 9.54771e+08\n",
      "[73]\tvalid_0's rmse: 30909.5\tvalid_0's l2: 9.55398e+08\n",
      "[74]\tvalid_0's rmse: 30884\tvalid_0's l2: 9.53824e+08\n",
      "[75]\tvalid_0's rmse: 30936.9\tvalid_0's l2: 9.5709e+08\n",
      "[76]\tvalid_0's rmse: 30896.4\tvalid_0's l2: 9.54589e+08\n",
      "[77]\tvalid_0's rmse: 30917.4\tvalid_0's l2: 9.55886e+08\n",
      "[78]\tvalid_0's rmse: 30922.4\tvalid_0's l2: 9.56197e+08\n",
      "[79]\tvalid_0's rmse: 30924.2\tvalid_0's l2: 9.56305e+08\n",
      "[80]\tvalid_0's rmse: 30913.2\tvalid_0's l2: 9.55625e+08\n",
      "[81]\tvalid_0's rmse: 30888.5\tvalid_0's l2: 9.54102e+08\n",
      "[82]\tvalid_0's rmse: 30895.4\tvalid_0's l2: 9.54526e+08\n",
      "[83]\tvalid_0's rmse: 30929.5\tvalid_0's l2: 9.56634e+08\n",
      "[84]\tvalid_0's rmse: 30964.5\tvalid_0's l2: 9.58801e+08\n",
      "[85]\tvalid_0's rmse: 30933.2\tvalid_0's l2: 9.56861e+08\n",
      "[86]\tvalid_0's rmse: 30937.4\tvalid_0's l2: 9.57124e+08\n",
      "[87]\tvalid_0's rmse: 30938.8\tvalid_0's l2: 9.57207e+08\n",
      "[88]\tvalid_0's rmse: 30981.5\tvalid_0's l2: 9.59853e+08\n",
      "[89]\tvalid_0's rmse: 30929.2\tvalid_0's l2: 9.56617e+08\n",
      "[90]\tvalid_0's rmse: 30961.5\tvalid_0's l2: 9.58612e+08\n",
      "[91]\tvalid_0's rmse: 30978.8\tvalid_0's l2: 9.59686e+08\n",
      "[92]\tvalid_0's rmse: 30987.4\tvalid_0's l2: 9.60219e+08\n",
      "[93]\tvalid_0's rmse: 30997.8\tvalid_0's l2: 9.60864e+08\n",
      "[94]\tvalid_0's rmse: 31034.3\tvalid_0's l2: 9.63128e+08\n",
      "[95]\tvalid_0's rmse: 31012\tvalid_0's l2: 9.61741e+08\n",
      "[96]\tvalid_0's rmse: 31046\tvalid_0's l2: 9.63854e+08\n",
      "[97]\tvalid_0's rmse: 31026.5\tvalid_0's l2: 9.62646e+08\n",
      "[98]\tvalid_0's rmse: 31037.8\tvalid_0's l2: 9.63343e+08\n",
      "[99]\tvalid_0's rmse: 31029.2\tvalid_0's l2: 9.62812e+08\n",
      "[100]\tvalid_0's rmse: 31053.7\tvalid_0's l2: 9.64335e+08\n"
     ]
    }
   ],
   "source": [
    "X = df_train.drop(columns = ['SalePrice'])\n",
    "y = df_train['SalePrice']\n",
    "fea_names = list(X.columns)\n",
    "cate_names = list(X.describe(include=['O']).columns)\n",
    "X[cate_names]=X[cate_names].astype('category')\n",
    "fea_imp = np.zeros(len(fea_names))\n",
    "for i in range(10):\n",
    "    X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3, random_state=i)\n",
    "    model = lgb.LGBMRegressor() #LGBRegressor()\n",
    "    model.fit(X_train,y_train,eval_set=[(X_test,y_test)],\n",
    "             eval_metric = 'rmse', categorical_feature=cate_names,\n",
    "             feature_name=fea_names)\n",
    "    fea_imp += model.feature_importances_/10.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "6028b697",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature</th>\n",
       "      <th>fea_importance</th>\n",
       "      <th>norm_importance</th>\n",
       "      <th>cum_importance</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GrLivArea</td>\n",
       "      <td>280.1</td>\n",
       "      <td>0.093367</td>\n",
       "      <td>0.093367</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>TotalBsmtSF</td>\n",
       "      <td>204.0</td>\n",
       "      <td>0.068000</td>\n",
       "      <td>0.161367</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>LotArea</td>\n",
       "      <td>200.0</td>\n",
       "      <td>0.066667</td>\n",
       "      <td>0.228033</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>BsmtFinSF1</td>\n",
       "      <td>168.5</td>\n",
       "      <td>0.056167</td>\n",
       "      <td>0.284200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>GarageArea</td>\n",
       "      <td>163.3</td>\n",
       "      <td>0.054433</td>\n",
       "      <td>0.338633</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>PoolQC</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76</th>\n",
       "      <td>BldgType</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>Street</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>RoofMatl</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79</th>\n",
       "      <td>LandContour</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>80 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        feature  fea_importance  norm_importance  cum_importance\n",
       "0     GrLivArea           280.1         0.093367        0.093367\n",
       "1   TotalBsmtSF           204.0         0.068000        0.161367\n",
       "2       LotArea           200.0         0.066667        0.228033\n",
       "3    BsmtFinSF1           168.5         0.056167        0.284200\n",
       "4    GarageArea           163.3         0.054433        0.338633\n",
       "..          ...             ...              ...             ...\n",
       "75       PoolQC             0.0         0.000000        1.000000\n",
       "76     BldgType             0.0         0.000000        1.000000\n",
       "77       Street             0.0         0.000000        1.000000\n",
       "78     RoofMatl             0.0         0.000000        1.000000\n",
       "79  LandContour             0.0         0.000000        1.000000\n",
       "\n",
       "[80 rows x 4 columns]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fea_imp_df = pd.DataFrame({'feature':fea_names,\n",
    "                           'fea_importance':fea_imp})\n",
    "fea_imp_df = fea_imp_df.sort_values('fea_importance',ascending=False).reset_index(drop=True)\n",
    "fea_imp_df['norm_importance'] = fea_imp_df['fea_importance']/fea_imp_df['fea_importance'].sum() # 特征重要性value的归一化\n",
    "fea_imp_df['cum_importance'] = np.cumsum(fea_imp_df['norm_importance'])# 特征重要性value的累加值\n",
    " \n",
    "fea_imp_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "e610f825",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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SRpXDOySJM2r++9vQnjn1D+c9++m3hfG11778WG879UwLkmSBmBglyQJmkHc7roLbrqpmW6++fHz//3vY4+ZMKHpir7uuvDMZ8Kuuzbz66wz+3XFFQ3jkiRpgRjYJUnjx8MPw403wvXXww03NFPn/EMPPXb/ZZaB9dZrpm23bUL4eus1r+uu24yyPmFCV96KJEka+wzskqSx5d57mxB+3XWzp+uvb6bbbnvsvksuCRtuCBttBC98IWywwexAvt56sPzyXXkLkiRJYGCXJI1G//nPYwN553T33Y/dd401miC+005NON9gg2bacMPmEWh2V5ckST3KwC5J6k333QfXXjvw9O9/P3bfddZpWslf9armtW/aYAOfNy5JkkYtA7skqXsefLBpFb/2Wrjmmse+3nXXY/dde23YeONmYLcnPrGZNtoInvCEZiR2SZKkMcbALkkaXtOnNwO69Q/k11zTPAat0+qrN0H85S+fHcqf+MSm+/qSS3anfkmSpC4xsEuSFl5Vc+/41Vc/frrhBpgxY/a+K67YtJQ/73nN6xOf2LxutFEzKrskSZIAA7skaX5UNSOtX355M11xBVx5ZRPM77ln9n6LLdYE8C22gNe8BjbZpJme+ERYaaWulS9JkjSaGNglSQO7667HBvO+13vvnb3P6qvDZpvB7rvPDuWbbNI8Es3nk0uSJC0UA7skqRmR/eKL4cILm+miix476NuKKzat5Xvs0bw+6UnNZGu5JEnSsDGwS9J4M3Nm0429L5xfeCH8/e9Nd3doWsxf8hJ4ylOacL7FFrDaaj6vXJIkaYQZ2CVprLvvPrjgAvjjH+FPf2paz++/v9m24orwrGfBbrvBM58Jz3gGLL98V8uVJElSw8AuSWPNzTc34fz885vXyy6DWbNgkUVgq61gr72akP6sZzUDw9lyLkmS1JMM7JI0ms2a1QwGd955swP6Lbc025ZeGrbZBj7xCdh++6YFfemlu1uvJEmS5pmBXZJGk76AfvbZzXTOOfCf/zTb1lqrCebbbw/bbQdbbgkT/WdekiRptPI3OUnqZbNmNV3a+wL6uefODugbbACvehXssAM8+9nNo9Ts3i5JkjRmGNglqdfceSeccgr89rdw1lnw3/826zsD+nOfC+uu280qJUmSNMwM7JLUbbNmwSWXwMknN9OUKc36tdeGXXYxoEuSJI1TBnZJ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IiIiIiIdkAJ2ERERERERkQ5IAbuIiIiIiIhIB6SAXURERERERKQDUsAu66SyEvbbD2bPLnZKREREREREOhcF7LJOfvhDePZZGDWq2CkRERERERHpXBSwy1rp1QvM4NZbIQQYPdq/9+pV7JSJiIiIiIh0DgrYZa1MmgRf/SqUl/v33r3hxBNh8uTipktERERERKSzUMAua2XgQOjbF+rr/XtVlX/fbLPipktERERERKSzUMAua23OHDjsMP//sMP04DkREREREZHWpIBd1tqYMXD99f7/wQf7dxEREREREWkdCthlnWy2GfTrB2+9VeyUiIiIiIiIdC4K2GWdmMHw4fD228VOiYiIiIiISOeigF3W2fDhamEXERERERFpbQrYZZ0NGwZz58KCBcVOiYiIiIiISOehgF3W2fDh/lfd4kVERERERFqPAnZZZylgV7d4ERERERGR1qOAXdbZkCHQu7cCdhERERERkdakgF3WWVmZ38euLvEiIiIiIiKtRwG7tIphw9TCLiIiIiIi0poUsEurGD4cZsyAxYuLnRIREREREZHOQQG7tIr04Ll33iluOkRERERERDoLBezSKoYN87/qFi8iIiIiItI6FLBLq9h6a+jeXQ+eExERERERaS0K2KVVlJfD9turhV1ERERERKS1KGCXVqMnxYuIiIiIiLQeBezSaoYPh8mToaqq2CkREREREREpfQrYpdUMGwYhwLvvFjslIiIiIiIipU8Bu7Sa9Go3PXhORERERERk3Slgl1bzsY9Bt266j11ERERERKQ1KGCXVtOjB2yzjQJ2ERERERGR1qCAXVrV8OHqEi8iIiIiItIaFLBLqxo+HN5/H1asKHZKRERERERESpsCdmlVw4ZBXR1MnFjslIiIiIiIiJQ2BezSqvSkeBERERERkdahgF1a1Q47gJkePCciIiIiIrKuFLBLq+rdG7bcUi3sIiIiIiIi60oB+zows+PMbLKZTTSzMwqG7WRmb5jZVDO7xszK4u9fjL+/bWbfL07K29bw4WphFxERERERWVcK2NeSmfUBfgvsEz8/N7MBuVGuA74HbA3sAhwef78eOATYFTjazHZqt0S3k2HD4J13oL6+2CkREREREREpXQrY194hwNMhhJkhhNnAk8BBADFw3yqE8I8QQj1wJ/D5ON0MoA/QA6gD5rd7ytvY8OFQUwNTphQ7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\n",
      "text/plain": [
       "<Figure size 1152x1152 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(16,16))\n",
    "plt.rcParams['font.sans-serif']=['Microsoft YaHei']\n",
    "plt.subplot(3,1,1)\n",
    "plt.title('特征重要性')\n",
    "sns.barplot(data=fea_imp_df.iloc[:10,:],x='norm_importance',y='feature')\n",
    " \n",
    "plt.subplot(3,1,2)\n",
    "plt.title('特征重要性累加图')\n",
    "plt.xlabel('特征个数')\n",
    "plt.ylabel('cum_importance')\n",
    "plt.plot(list(range(1, len(fea_names)+1)),fea_imp_df['cum_importance'], 'r-')\n",
    " \n",
    "plt.subplot(3,1,3)\n",
    "plt.title('各个特征的归一化得分')\n",
    "plt.xlabel('特征')\n",
    "plt.ylabel('norm_importance')\n",
    "plt.plot(fea_imp_df.feature,fea_imp_df['norm_importance'], 'b*-')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fad75f29",
   "metadata": {},
   "source": [
    "根据变量重要性剔除一些不重要的变量，方便后面的处理："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "729411a1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "特征重要性为0的变量个数为 ：12\n",
      "12\n"
     ]
    }
   ],
   "source": [
    "zero_imp_col = list(fea_imp_df[fea_imp_df.fea_importance==0].feature)\n",
    "fea_imp_df = fea_imp_df[~(fea_imp_df.feature.isin(zero_imp_col))]\n",
    "print('特征重要性为0的变量个数为 ：{}'.format(len(zero_imp_col)))\n",
    "print(len(zero_imp_col))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "6eeadf93",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "特征重要性比较弱的变量个数为：44\n",
      "44\n"
     ]
    }
   ],
   "source": [
    "low_imp_col = list(fea_imp_df[fea_imp_df.cum_importance>=0.9].feature)\n",
    "print('特征重要性比较弱的变量个数为：{}'.format(len(low_imp_col)))\n",
    "print(len(low_imp_col))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "82d8ec03",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1460, 24)"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 删除特征重要性为0和比较弱的特征\n",
    "drop_imp_col = zero_imp_col+low_imp_col\n",
    "X = X.drop(columns = drop_imp_col)\n",
    "X.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "488c9479",
   "metadata": {},
   "source": [
    "经过上面的处理还剩下24个自变量，下面我们来看一下变量相关性："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "6cb88e72",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "corrmat = X.corr()\n",
    "f, ax = plt.subplots(figsize=(12, 9))\n",
    "sns.heatmap(corrmat, vmax=.8, square=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "9ba08d4b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "相关系数：0.819530, (1stFlrSF,TotalBsmtSF)\n",
      "变量\"1stFlrSF\"的重要性：161.100000\n",
      "变量\"TotalBsmtSF\"的重要性：204.000000\n",
      "保留变量\"TotalBsmtSF\"\n",
      "相关系数：0.825489, (TotRmsAbvGrd,GrLivArea)\n",
      "变量\"TotRmsAbvGrd\"的重要性：35.600000\n",
      "变量\"GrLivArea\"的重要性：280.100000\n",
      "保留变量\"GrLivArea\"\n",
      "相关系数：0.825667, (GarageYrBlt,YearBuilt)\n",
      "变量\"GarageYrBlt\"的重要性：124.200000\n",
      "变量\"YearBuilt\"的重要性：97.400000\n",
      "保留变量\"GarageYrBlt\"\n",
      "删除变量： ['1stFlrSF', 'TotRmsAbvGrd', 'YearBuilt']\n"
     ]
    }
   ],
   "source": [
    "fea_list = list(corrmat.columns)\n",
    "df_fea_imp = fea_imp_df.set_index('feature')\n",
    "del_lst = []\n",
    "for i in range(corrmat.shape[0]):\n",
    "    for j in range(i):\n",
    "        if corrmat.iat[i,j]>0.8 or corrmat.iat[i,j]<-0.8:\n",
    "            print('相关系数：%f, (%s,%s)'%(corrmat.iat[i,j],fea_list[i],fea_list[j]))\n",
    "            imp1 = df_fea_imp.at[fea_list[i],'fea_importance']\n",
    "            imp2 = df_fea_imp.at[fea_list[j],'fea_importance']\n",
    "            print('变量\"%s\"的重要性：%f'%(fea_list[i],imp1))\n",
    "            print('变量\"%s\"的重要性：%f'%(fea_list[j],imp2))\n",
    "            if imp1 >= imp2:\n",
    "                print('保留变量\"%s\"'%(fea_list[i]))\n",
    "                del_lst.append(fea_list[j])\n",
    "            else:\n",
    "                print('保留变量\"%s\"'%(fea_list[j]))\n",
    "                del_lst.append(fea_list[i])\n",
    "print('删除变量：',del_lst)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "a6305511",
   "metadata": {},
   "outputs": [],
   "source": [
    "X = X.drop(del_lst, axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "267d6c7b",
   "metadata": {},
   "source": [
    "下面开始处理一下缺失值。先看一下整体情况："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "18f40690",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 1460 entries, 0 to 1459\n",
      "Data columns (total 4 columns):\n",
      " #   Column        Non-Null Count  Dtype   \n",
      "---  ------        --------------  -----   \n",
      " 0   LotFrontage   1201 non-null   float64 \n",
      " 1   MasVnrArea    1452 non-null   float64 \n",
      " 2   GarageYrBlt   1379 non-null   float64 \n",
      " 3   GarageFinish  1379 non-null   category\n",
      "dtypes: category(1), float64(3)\n",
      "memory usage: 35.9 KB\n"
     ]
    }
   ],
   "source": [
    "X_null = X.isnull().sum()[X.isnull().sum()>0]\n",
    "null_lst = list(X_null.index)\n",
    "X[null_lst].info()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1758148",
   "metadata": {},
   "source": [
    "LotFrontage\\MasVnrArea\\GarageYrBlt是数值型变量，缺失值考虑用均值来填充。GarageFinish变量是类别型变量考虑用一个新值'NULL'来填充。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "f1e1f938",
   "metadata": {},
   "outputs": [],
   "source": [
    "X['GarageFinish'].cat.add_categories(['NULL'],inplace=True)\n",
    "X['GarageFinish']=X['GarageFinish'].fillna('NULL')\n",
    "X['LotFrontage'].fillna(X['LotFrontage'].mean(),inplace=True)\n",
    "X['MasVnrArea'].fillna(X['MasVnrArea'].mean(),inplace=True)\n",
    "X['GarageYrBlt'].fillna(X['GarageYrBlt'].mean(),inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "82b4533a",
   "metadata": {},
   "source": [
    "下面对数据集中的类别型变量进行数值化（one-hot变换）："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fba83044",
   "metadata": {},
   "outputs": [],
   "source": [
    "cate_feat = list(X.describe(include = ['category']).columns)\n",
    "X1 = pd.get_dummies(X[cate_feat],prefix=cate_feat)\n",
    "X = X.drop(cate_feat,axis=1)\n",
    "X = pd.concat([X,X1],axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "29ea6a43",
   "metadata": {},
   "source": [
    "下面用XGBoost回归模型训练："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "276119a8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n",
       "             colsample_bynode=1, colsample_bytree=1, enable_categorical=False,\n",
       "             gamma=0, gpu_id=-1, importance_type=None,\n",
       "             interaction_constraints='', learning_rate=0.1, max_delta_step=0,\n",
       "             max_depth=5, min_child_weight=1, missing=nan,\n",
       "             monotone_constraints='()', n_estimators=160, n_jobs=16,\n",
       "             num_parallel_tree=1, objective='reg:gamma', predictor='auto',\n",
       "             random_state=0, reg_alpha=0, reg_lambda=1, scale_pos_weight=None,\n",
       "             subsample=1, tree_method='exact', validate_parameters=1,\n",
       "             verbosity=None)"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)\n",
    "\n",
    "xgbmodel = xgb.XGBRegressor(max_depth=5, learning_rate=0.1, n_estimators=160, objective='reg:gamma')\n",
    "xgbmodel.fit(X_train,y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7d473b61",
   "metadata": {},
   "source": [
    "计算score和MSE。  \n",
    "kaggle上针对本例的指标定义如下：  \n",
    "Submissions are evaluated on Root-Mean-Squared-Error (RMSE) between the logarithm of the predicted value and the logarithm of the observed sales price. (Taking logs means that errors in predicting expensive houses and cheap houses will affect the result equally.)  \n",
    "根据这个定义，指标应该表示为：  "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "06318aeb",
   "metadata": {},
   "source": [
    "$$\n",
    "score = \\sqrt{\\frac{\\sum_{i=1}^N(\\log{y_i}-\\log{\\hat{y}_i})^2}{N}}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "908a05fd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "score: 0.145524, mse: 1210202525.685249\n"
     ]
    }
   ],
   "source": [
    "y_pred = xgbmodel.predict(X_test)\n",
    "mse = MSE(y_test,y_pred)\n",
    "score = np.sqrt(MSE(np.log(y_test),np.log(y_pred)))\n",
    "print('score: %f, mse: %f'%(score,mse))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8938af84",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
